如何使用XlsxWriter向现有Excel文件写入数据且不覆盖原有内容
问题原因
xlsxwriter 库仅支持创建全新的Excel文件,不支持读取、修改已存在的xlsx文件。你每次执行 xlsxwriter.Workbook('hello.xlsx') 时,程序会直接覆盖路径下的同名文件,原有数据自然会被清空。
解决方案
推荐使用支持读写修改操作的 openpyxl 库完成现有文件的内容追加,操作步骤如下:
- 安装依赖
pip install openpyxl
- 追加内容的示例代码
from openpyxl import load_workbook # 加载已存在的目标Excel文件 workbook = load_workbook("hello.xlsx") # 选择要操作的工作表,默认通过xlsxwriter创建的第一个工作表名为Sheet1,也可以用workbook.active选择活跃表 worksheet = workbook["Sheet1"] # 向A5单元格写入指定内容 worksheet["A5"] = "toto" # 保存修改,原有内容会保留 workbook.save("hello.xlsx")
补充说明
如果需要兼顾「文件不存在时创建新文件、文件存在时追加内容」的逻辑,可以先通过os.path.exists("hello.xlsx")判断文件是否存在,不存在时走你原来的xlsxwriter创建逻辑,存在时走上述openpyxl修改逻辑即可。
内容的提问来源于stack exchange,提问作者pgmendormi
相关产品推荐
相关产品推荐

