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

如何用Python合并3个含相似列名的CSV文件并生成指定列结构?

合并三个CSV文件生成指定列的结果文件

完全可以实现,核心是通过标题字段将三个文件关联起来,注意第一个文件的列名是movies_title,需要先重命名为title来和另外两个文件的title列匹配。下面是用Python pandas库实现的具体方案:

实现步骤

  • 导入pandas库
  • 分别读取三个CSV文件
  • 重命名第一个文件的movies_title列为title
  • 依次合并三个文件,以title作为关联键
  • 筛选出需要的目标列并保存为新的CSV文件

代码示例

import pandas as pd

# 读取三个CSV文件
df1 = pd.read_csv('第一个文件路径.csv')
df2 = pd.read_csv('第二个文件路径.csv')
df3 = pd.read_csv('第三个文件路径.csv')

# 重命名df1的列名,统一为title
df1.rename(columns={'movies_title': 'title'}, inplace=True)

# 合并df1和df2,保留所有匹配/不匹配的数据可改用how='outer'
merged_df = pd.merge(df1, df2, on='title', how='inner')

# 合并第三个文件
final_df = pd.merge(merged_df, df3, on='title', how='inner')

# 选择需要的目标列
final_df = final_df[['title', 'release_date', 'genre', 'show_id', 'type', 'rating', 'ratingLevel']]

# 保存结果
final_df.to_csv('合并后的文件.csv', index=False)

注意事项

  • 如果不同文件中title字段存在格式差异(比如大小写、前后空格、别名),需要先做数据清洗,比如:
    # 统一转为小写并去除前后空格
    for df in [df1, df2, df3]:
        df['title'] = df['title'].str.lower().str.strip()
    
  • how参数的选择:inner只保留三个文件中都存在的标题数据;outer会保留所有数据,匹配不到的字段会填充为NaN,可根据实际需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:25:24