我正在尝试使用openpyxl根据第1列中不同行中的值创建多个工作表。问题是当我运行脚本时,它仅使用第一个值创建了一个新工作表,仅此而已。
如何使用“ Sheet1”中可用的不同值创建多个工作表?
到目前为止我的尝试:
from openpyxl import load_workbook
wb = load_workbook('Document.xlsx')
ws = wb['Sheet1']
if __name__ == '__main__':
for row in range(2, ws.max_row +1):
if ws.cell(row=row,column=1).value==None:break
keyword = ws.cell(row=row,column=1).value
ws = wb.create_sheet(str(keyword)) #defining ws is a must here in order to reuse later
print(keyword)
wb.save('Document.xlsx')
这些是Sheet1
中可用于创建三个不同工作表的输入:
45824
33125
13958
答案 0 :(得分:1)
您正在覆盖ws
变量,因此在ws.cell(row=row,column=1).value
中创建了None值。将ws = wb.create_sheet(str(keyword))
更改为ws2 = wb.create_sheet(str(keyword))
可解决您的问题。