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