0
複数のワークシートを持つ複数のワークブックのデータを解析するプログラムがあります。条件チェックワークシート範囲python
シート2〜9は曜日(日曜日)です。しかし、いくつかのシートは異なるシート範囲を有する。
シートの中には、2〜5(月〜金)のものがあります。他のものはすべて同じですが、一部のワークブックは合計10枚あり、他のブックは8枚しかありません。私のコードは、セル範囲の同じ解析を行います。
シート範囲(2,5)のブックを解析するためにコードを使用するにはどうすればよいですか?これは私がこれまで持っていたものです。
import glob
import openpyxl
path = 'C:/SomeFolder/*.xlsx'
files = glob.glob(path)
for file in files:
wb = openpyxl.load_workbook(file, data_only=True)
NameFile = file.rsplit('~', 2)[0]
sheet = wb.get_sheet_by_name('Title')
sheet2 = wb.get_sheet_by_name('TOTAL')
Week = sheet.cell(row=1, column=1).value
Date = sheet.cell(row=2, column=1).value
Name = sheet.cell(row=4, column=2).value
Title = sheet.cell(row=5, column=2).value
Site = sheet.cell(row=6, column=2).value
LocID = sheet.cell(row=7, column=2).value
Total = sheet2.cell(row=26, column=2).value
if wb.worksheets is range(2, 9):
for n in range(2, 9):
sheets = wb.worksheets[n]
Days = wb.sheetnames[n]
comment = sheets.cell(row=34, column=5).value
for i in range(2, 57):
From = sheets.cell(row=i, column=1).value
To = sheets.cell(row=i, column=2).value
Activity = sheets.cell(row=i, column=3).value
TimeSheet = {'Sender': NameFile, 'Week': Week, 'Date': Date, 'Name': Name, 'Title': Title, 'Site': Site, 'LocID': LocID,
'Days': Days, 'From': From, 'To': To, 'Activity': Activity, 'Week Total': Total, 'Comments': comment}
else:
for n in range(2, 5):
for n in range(2, 9):
sheets = wb.worksheets[n]
Days = wb.sheetnames[n]
comment = sheets.cell(row=34, column=5).value
for i in range(2, 57):
From = sheets.cell(row=i, column=1).value
To = sheets.cell(row=i, column=2).value
Activity = sheets.cell(row=i, column=3).value
TimeSheet = {'Sender': NameFile, 'Week': Week, 'Date': Date, 'Name': Name, 'Title': Title,
'Site': Site, 'LocID': LocID,
'Days': Days, 'From': From, 'To': To, 'Activity': Activity, 'Week Total': Total,
'Comments': comment}
print(TimeSheet)
このコードを機能単位に分割することを強くお勧めします。現時点では、あなたがしようとしていることを理解することはほとんど不可能です。 –