如何用Python+pandas将Excel文件的指定列添加到另一个Excel文件中
实现方法
基础场景(两个DataFrame行顺序完全对应,无需对齐匹配)
直接用pandas的insert方法即可,该方法可以指定位置插入列,不会覆盖原有列数据:
# 提取df_foglio1的第一列,保留原列名 first_col_name = df_foglio1.columns[0] first_col_data = df_foglio1.iloc[:, 0] # 插入到df_backup的第一列位置(列位置索引从0开始计数) df_backup.insert(loc=0, column=first_col_name, value=first_col_data)
如果需要自定义插入后的列名,直接修改column参数的取值即可,例如column="自定义列名"。
特殊场景(两个DataFrame行顺序不一致,需要按唯一标识对齐)
如果两个表的行不是按顺序一一对应,需要通过某列唯一值(如ID、编号)匹配后再插入,可以用merge方法实现:
# 假设两个表都有唯一标识列`id`用于对齐行,提取df_foglio1的唯一标识列+第一列和df_backup合并 df_backup = df_foglio1[[first_col_name, 'id']].merge(df_backup, on='id', how='right')
验证与导出
插入完成后可先打印前几行验证结果,确认无误后导出为Excel即可:
# 打印前5行验证结构 print(df_backup.head()) # 导出文件,index=False表示不导出pandas默认的行索引 df_backup.to_excel("合并完成的文件.xlsx", index=False)
内容的提问来源于stack exchange,提问作者JimSepiol
相关产品推荐
相关产品推荐

