Python с использованием openpyxl манипулирует Excel - PullRequest
0 голосов
/ 22 марта 2019

Я новичок в 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 Ответ

1 голос
/ 22 марта 2019

Если вы знаете имена листов, которые необходимо обновить, вы можете указать список с этими именами и обновлять по своему усмотрению:

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')
...