python excel追加写入不覆盖
时间: 2025-06-03 17:47:59 浏览: 24
### 如何使用 Python 向 Excel 文件追加写入数据而不覆盖原有内容
在 Python 中,可以借助 `openpyxl` 和其他相关模块来实现向现有的 Excel 文件中追加写入数据而不会覆盖原有的内容。以下是具体方法:
#### 使用 `openpyxl` 追加写入数据
`openpyxl` 是一个功能强大的库,支持读取和写入 `.xlsx` 格式的文件。为了追加写入数据而不是覆盖整个文件,可以通过加载现有工作簿并操作其特定的工作表来进行。
```python
from openpyxl import load_workbook
# 加载已有的Excel文件
wb = load_workbook('example.xlsx')
# 获取目标工作表
ws = wb.active # 或者指定名称 ws = wb['SheetName']
# 找到最后一行的位置
last_row = ws.max_row + 1
# 在最后位置追加新数据
data_to_append = ['New Value 1', 'New Value 2']
for col_num, value in enumerate(data_to_append, start=1):
ws.cell(row=last_row, column=col_num).value = value
# 保存更改后的文件
wb.save('example_updated.xlsx')
```
此代码片段展示了如何找到当前表格的最后一行,并在此基础上继续添加新的记录[^2]。
#### 使用 `pandas` 配合 `openpyxl`
另一种方式是结合 Pandas 库完成更复杂的 DataFrame 数据处理后再将其附加至已有文档之中。
```python
import pandas as pd
from openpyxl import load_workbook
# 创建一个新的DataFrame作为待追加的数据
new_data = {'Column1': [7], 'Column2': [8]}
df_new = pd.DataFrame(new_data)
with pd.ExcelWriter('example.xlsx',
engine='openpyxl',
mode='a') as writer:
df_new.to_excel(writer, sheet_name="AppendedData", index=False)
```
这里我们创建了一个简单的 DataFrame 并通过设置参数 `mode='a'`, 即以追加模式打开文件从而避免完全替换原始内容[^4]。
#### 注意事项
当尝试修改或扩展大型电子表格时需要注意性能问题以及内存消耗情况;对于非常庞大的文件建议采用分批读写的策略或者考虑其它更适合大数据量场景的技术方案比如数据库存储等替代品。
阅读全文
相关推荐


















