使用Python

时间:2016-07-19 15:52:32

标签: python openpyxl xlrd xlwt xlutils

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:-1)

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

e.g: 加载数据

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