You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的pandas、numpy库实现不同列结构的Excel/CSV文件数据合并

可以实现,仅用pandas即可完成需求,操作如下:

核心逻辑

pandas处理表格数据时会自动按字段名对齐,不用关心原始字段顺序,只需要将第一个表的列顺序调整为第二个表的列顺序,补全缺失字段后合并去重即可。

具体操作步骤
    1. 导入依赖并读取两个CSV文件
import pandas as pd

# 读取两个文件
df_first = pd.read_csv("first.csv")
df_second = pd.read_csv("second.csv")
    1. 补全第一个表缺失的字段
      这里示例给缺失的Description字段填充空字符串,你可以按需修改默认值:
df_first["Description"] = ""
# 如果有其他需要填充的默认值,可以用fillna批量处理,比如:
# df_first = df_first.fillna({"Status": "待同步", "Date": "2024-01-01"})
    1. 按第二个表的字段顺序重排第一个表的列
df_first_aligned = df_first[df_second.columns]
    1. 合并两个表并按ID去重
      如果两个表都存在ID=1的记录,keep="first"表示保留df_second中原有的记录,要保留df_first的记录就改为keep="last":
df_combined = pd.concat([df_second, df_first_aligned], ignore_index=True)
df_combined = df_combined.drop_duplicates(subset="ID", keep="first")
# 按ID排序可选,按需开启:
# df_combined = df_combined.sort_values(by="ID", ignore_index=True)
    1. 导出结果文件
# 如果要直接覆盖原second.csv,把文件名改为"second.csv"即可
df_combined.to_csv("result_second.csv", index=False, encoding="utf-8-sig")
注意事项

如果你的CSV是GBK等非UTF-8编码格式,读取的时候加encoding参数即可,比如pd.read_csv("first.csv", encoding="gbk")。

内容的提问来源于stack exchange,提问作者Nirakar Nepal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:27:04