使用python在excel添加列为什么把原来的数据覆盖了
时间: 2023-12-12 20:02:54 浏览: 146
Python处理Excel数据原表保存(openpyxl、pandas).rar
可能是因为你在添加列时没有正确指定插入列的位置,导致原本的数据被覆盖了。你可以尝试以下几种方法:
1. 使用pandas库,先将excel文件读取为一个DataFrame对象,然后在该对象中添加新的列,最后将结果写回到excel文件中。
```python
import pandas as pd
# 读取excel文件为DataFrame对象
df = pd.read_excel('your_file.xlsx')
# 在DataFrame对象中添加新的列
df['new_column'] = your_data_list
# 将结果写回到excel文件中
df.to_excel('your_file.xlsx', index=False)
```
2. 使用openpyxl库,在指定位置插入新的列,而不是直接覆盖原有的数据。
```python
from openpyxl import load_workbook
# 加载excel文件
wb = load_workbook('your_file.xlsx')
# 选择要插入列的工作表
ws = wb['sheet_name']
# 在第3列(C列)插入新的列
ws.insert_cols(3)
# 将数据写入新的列中
for i, data in enumerate(your_data_list, start=1):
ws.cell(row=i, column=3, value=data)
# 保存文件
wb.save('your_file.xlsx')
```
无论哪种方法,都需要注意指定正确的插入位置,以避免覆盖原有的数据。
阅读全文