python 覆盖excel数据读取后重新写入到另一个excel中(保留公式)
时间: 2024-09-25 18:10:54 浏览: 39
Python3读取和写入excel表格数据的示例代码
在Python中,如果你想从一个Excel文件读取数据,对它进行处理后再写回同一个文件,但保持原有的公式不变,可以使用`openpyxl`库,因为它支持读写Excel 2010 xlsx/xlsm/xltx/xltm格式,并且能够保存公式。以下是一个基本步骤:
首先,导入必要的库:
```python
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
```
接着,加载工作簿:
```python
# 假设fname1是源文件名
wb = load_workbook(filename=fname1)
ws = wb.active # 或指定特定的工作表
```
处理数据(例如,你可以使用pandas DataFrame来操作数据):
```python
# 使用pandas读取数据
df = pd.read_excel(wb, sheet_name='企业')
# 对数据进行计算或其他操作
processed_data = df.some_processing()
# 或者直接修改原数据
df['新列'] = processed_data['新列']
```
最后,将处理后的数据写回到Excel文件中:
```python
# 将DataFrame转换为行,以便写入单元格
for r in dataframe_to_rows(processed_data, index=False, header=True):
ws.append(r)
# 保存更改
wb.save(filename=fname1)
```
注意,`openpyxl`默认不会保留公式,如果要保存公式,你需要在每次写入时显式地更新公式,这可能会比较复杂。如果你的数据中包含公式,建议在处理前复制公式,然后在写入时重新应用。
阅读全文