python - 无法使用 openpyxl 创建多个工作表
问题描述
我正在尝试使用 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
解决方案
您正在覆盖ws
变量,因此在ws.cell(row=row,column=1).value
. 更改ws = wb.create_sheet(str(keyword))
为ws2 = wb.create_sheet(str(keyword))
解决您的问题。
推荐阅读
- java - 找出所有 0 和所有 1 在一起所需的最小交换次数
- selenium-webdriver - 如何在 Selenium 中选择下拉数据(其中具有搜索功能)
- lldb - 使用给定的十六进制指针打印变量的正确方法是什么(Xcode 10.3、11 beta)
- python - 动态选择模型
- python - 我无法使用 Python 进行网络抓取从特定 div 中提取信息。我能做些什么?
- android-fragments - 重新创建活动后,我无法从 livedata 访问更新的值
- winapi - 如何在 Windows 应用程序中保持插入符号闪烁
- angular - Angular 7 服务人员行为怪异
- python - 如何迭代目录中存在的 sql 文件并将文件名作为输入传递以执行文件中存在的查询?
- java - 我们可以在现有的 webdriver 实例中打开一个新的空浏览器窗口吗?(硒-Java)