1

我有一个 Excel 文件(xlsx),其中已经包含大量数据。现在我正在尝试使用 Python 将新数据写入这个 Excel 文件。我查看了 xlwt、xldd、xlutils 和 openpyxl,所有这些模块都需要您加载我的 Excel 工作表的数据,然后应用更改并保存到新的 Excel 文件中。有没有办法只更改现有 Excel 工作表中的数据,而不是加载工作簿或保存到新文件?

4

2 回答 2

7

这是不可能的,因为 XLSX 文件是 zip 归档文件,不能就地修改。理论上,可以只编辑构成 OOXML 包的存档的一部分,但实际上这几乎是不可能的,因为相关数据可能分布在不同的文件中。

于 2016-07-19T16:01:36.633 回答
-1

请再次检查 Openpyxl。您可以加载数据,使用 python 执行操作,将结果写入同一文件或同一工作表的新工作表中并保存(因为一切都在内存中发生)。

eg:加载数据

wb = openpyxl.load_workbook("file.xlsx", data_only=True)

用python操作

# python codes

创建工作表

some_sheet = wb.create_sheet("someSheet") # by default at the end

写在工作表中的程序

# program to write in sheet

保存文件(如果在保存之前打开 Excel 文件,请不要忘记关闭它,因为它会引发“权限错误”)

wb.save("file.xlsx"

这是链接 https://openpyxl.readthedocs.io/en/default/tutorial.html

于 2018-01-13T15:12:59.733 回答