如何将最新数据追加保存至已有Excel文件(Pandas场景)
解决方案
方法1:读取原文件合并数据后保存
适合需要对数据做校验或预处理的场景,步骤如下:
- 读取已有Excel文件到DataFrame
- 将最新数据整理成和原文件同结构的DataFrame
- 合并两个DataFrame并重置索引避免重复
- 保存回原Excel文件
示例代码:
import pandas as pd # 读取原Excel文件 df_old = pd.read_excel('Excel A') # 构造最新数据的DataFrame,保持列名和数据类型与原文件一致 new_data = { 'Datetime': ['2020-01-01 15:00:00'], 'Cash': [300] } df_new = pd.DataFrame(new_data) # 转换Datetime列为datetime类型,匹配原文件格式 df_new['Datetime'] = pd.to_datetime(df_new['Datetime']) # 合并数据并重置索引 df_combined = pd.concat([df_old, df_new], ignore_index=True) # 保存回原Excel文件,index=False避免写入索引导列 df_combined.to_excel('Excel A', index=False)
方法2:直接追加数据到Excel文件
无需读取全部原数据,适合仅需追加的场景,需依赖openpyxl引擎(提前安装:pip install openpyxl):
import pandas as pd # 构造最新数据的DataFrame new_data = { 'Datetime': ['2020-01-01 15:00:00'], 'Cash': [300] } df_new = pd.DataFrame(new_data) df_new['Datetime'] = pd.to_datetime(df_new['Datetime']) # 以追加模式写入,header=False避免重复写入表头 df_new.to_excel('Excel A', mode='a', engine='openpyxl', index=False, header=False)
注意:方法2要求原Excel文件的表头和新数据列名完全一致,且原文件无合并单元格等复杂格式,否则可能导致写入位置错误。
内容的提问来源于stack exchange,提问作者Czz
相关产品推荐
相关产品推荐

