4

目前,我正在尝试使用 xlwt 编辑现有的 excel 文件。我不想直接在excel上编辑,所以我先复制一份。

new_wb = xlutils.copy(file_location)

从这个副本中,我使用 xlwt 模块将新列写入新复制的 excel 文件并保存。但是,当我尝试复制时出现错误:

ValueError: row index was 65536, not allowed by .xls format

我有点困惑,因为我复制的文件是 xlsx 文件,而不是 xls。我从不在我的代码中使用 xls 格式。

任何指导将不胜感激。

4

2 回答 2

5

改用openpyxl 。它支持 .xlsx 文件。

.xls 文件的行数限制为 65,536。xlsutils 可能不支持 .xlsx 文件。

您可以尝试这样做以查看它是否有效:

from openpyxl import Workbook, load_workbook

wb = load_workbook('filename.xlsx')
wb = Workbook(write_only=True)
.
.
.
(make your edits)
.
.
.
wb.save('new_filename.xlsx')
于 2017-08-17T17:44:58.140 回答
3

对于遇到与pandas'相同问题的人的简短解决方案DataFrame.to_excel() :如果您要保存到.xls扩展程序中,只需将其更改为.xlsx扩展程序。

于 2021-01-07T16:15:07.040 回答