🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:一晌小贪欢的博客主页
👍 该系列文章专栏:Python办公自动化专栏
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
首先python读取Excel的库有很多,包括xlwings,pandas,xlrd等等,我比较常用的是openpyxl,以及pandas,当然还有喜欢将数据量比较大的Excel转为csv格式再读取。
今天我们用openpyxl来读取excel文件,读取的时候可以将每一行的信息转为列表,最重要的是,可以输出每一行的行号,这样后期就可以修改单元格的内容,就可以靠行号
第 1 步,读取
代码:
import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
d = list(row)
print(f"行{i}",d)
# workbook.save("./结果.xlsx"),由于这里只是读取,没有修改,无需保存
第2 步,修改
如我在K列,增加了一列把上述代码的行号填充进去
worksheet[“K{行号}”] = 赋值
哈哈,第一行忘记跳过了(加个continue),不过不影响,数据的行号填充的是对的(下面代码是对的)
文章来源:https://www.toymoban.com/news/detail-841786.html
import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
if i== 1:
continue
d = list(row)
worksheet[f"K{i}"] = i
print(f"行{i}",d)
workbook.save("./结果.xlsx")
设置单元格宽、高,以及底色
我们给 B 列设置宽一点
worksheet.column_dimensions['B'].width = 15
worksheet.column_dimensions['1'].height = 15
# 这是这是第一行的 行高,以此类推设置单元格底色
worksheet[’A1'].fill = PatternFill("solid", fgColor="3CB371")
# 如将A1单元格设置【“3CB371”】这个颜色,这是16进制颜色
文章来源地址https://www.toymoban.com/news/detail-841786.html
代码
import os
import openpyxl
from openpyxl.styles import PatternFill
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
worksheet.column_dimensions['C'].width = 20
# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
d2 = {i:chr(i+64) for i in range(1, 27)}
# print(d)
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
k = i
if k<=11:
worksheet[d2[k]+'1'].fill = PatternFill("solid", fgColor="3CB371")
if i== 1:
continue
d = list(row)
worksheet[f"K{i}"] = i
print(f"行{i}",d)
workbook.save("./结果.xlsx")
希望对大家有帮助
致力于办公自动化的小小程序员一枚
都看到这了,关注+点赞+收藏=不迷路!!
如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!
到了这里,关于Python——openpyxl读取Excel表格(读取、单元格修改、单元格加底色)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!