Python使用openpyxl操纵Excel

时间:2019-03-22 09:56:10

标签: python excel openpyxl

我是python的新手,但我正在尝试学习让自己的生活更轻松。我编写了一个简单的脚本来处理工作表中的多个单元格:

import openpyxl

wb = openpyxl.load_workbook(....)
wb.get_sheet_names()
ws1 = wb.get_sheet_by_name('Cmg 1')
ws1['Q2'] = '=WORKDAY(N2,1,K7:K63)'
ws1['R2'] = '=TEXT(Q2,"yyyymmdd")'

....

wb.save('Daily_updated.xlsx')

对于一张纸来说效果很好,但是问题是我的Excel总共有50张纸,其中一半需要打底,而纸上没有任何图案。

由于我知道要更新哪些工作表(按名称),因此我在考虑请求所有工作表的名称,然后在脚本中定义哪些工作表需要更新为:“要更新的工作表”,该脚本只会更新这些XYZ床单..

有人可以帮助我将其整合到我的简单脚本中吗?谢谢

1 个答案:

答案 0 :(得分:1)

如果知道需要更新的图纸的名称,则可以指定包含这些名称的列表并根据需要进行更新:

import openpyxl

SHEETS_TO_UPDATE = ['Cmg 1', 'Cmg 2', 'Cmg 3', 'Cmg 4']

wb = openpyxl.load_workbook(....)

for sh in SHEETS_TO_UPDATE:
   ws = wb.get_sheet_by_name(sh)
   ws['Q2'] = '=WORKDAY(N2,1,K7:K63)'
   ws['R2'] = '=TEXT(Q2,"yyyymmdd")'
   ....

wb.save('Daily_updated.xlsx')