有没有一种方法可以将excel电子表格按行值拆分为不同的表格



我有一个excel工作簿,其中包含我们所做工作的报告,并将它们列在一个excel工作表中。我想根据第二列中的行值将这个大工作表拆分为不同的小工作表。例如,我希望所有行的单元格值为"0";新工作;在大电子表格的第二列中移动到较小的电子表格。目前,这段代码能够读取电子表格,并将每一行分组为大列表中的较小列表。

我能就如何推进这个项目得到一些建议吗?

from openpyxl import load_workbook
wb = load_workbook(r"spreadsheet.xlsx")
ws = wb.active
statuses = ["NEW JOB", "DESIGN & AMENDS", "MARKETING", "R&D", "PRE-PRESS", "ON PROOF", "AWAITING ARTWORK", "HARD PROOF", "WAITING PARTS/PAPER", "READY TO PRINT",
"URGENT", "PRINTING", "COVERS", "MONO", "OVERPRINT", "LAMINATING", "FOIL/SPOT GLOSS", "BINDING", "DIE CUTTING", "CREASING", "DRILLING", "TRIM", "FINISHING/PACKING",
"DATA DUPLICATING", "OUTSOURCED", "WAITING COLLECTION", "DISPATCH SAME DAY", "DISPATCH NEXT DAY", "DISPATCH PDS", "DISPATCH POST", "DISPATCHED", "ON HOLD/WAITING INSTRUCTION",
"COMPLETED & INVOICED", "CANCELLED", "COMPLETED"]
Dictionary = {i: " " for i in statuses} #where the,' ', is, we would like to put in the corresponding list to each key. 

#print(Dictionary)
press = []
for row in ws.rows:

for j in range(0,1):

for k in range(0,35):

if row[1].value == statuses[k]:

for l in range(0,8):

press.append(row[l].value)


print(press)
chunk_size = 8
chunked_list = [press[i:i + 8] for i in range(0, len(press), 8)]
print(chunked_list)

目前,这段代码能够读取电子表格,并将每一行分组为大列表中的较小列表。

我能就如何推进这个项目得到一些建议吗?

解决此问题的一种简单方法是将所需值的行分组,并使用xlsxwritter python库将它们写入新的excel工作簿。

最新更新