使用Python在现有excel文件中修改和写入数据



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

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

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

例如:加载数据

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

最新更新