【问题标题】:Need to combine two csv files with same number of columns but different headers using python需要使用python组合两个具有相同列数但标题不同的csv文件
【发布时间】:2020-06-11 17:51:32
【问题描述】:

我有两个输入 csv 文件如下:

文件1.csv

  1. 演员、电影、导演
  2. 基努·里维斯、约翰·威克、查德·斯塔赫尔斯基
  3. 汤姆克鲁斯、杰克里奇、克里斯托弗麦夸里
  4. 罗文·阿特金森、约翰尼·英格利希、彼得·豪伊特

文件2.csv

  1. 克里斯·派恩、杰克·瑞恩、肯尼斯·布拉纳
  2. 马特·达蒙、杰森·伯恩、保罗·格林格拉斯
  3. 伊恩·萨默海尔德、马可波罗、凯文·康纳

预期输出:

结合_File1_and_File2.csv

  1. 演员、电影、导演
  2. 基努·里维斯、约翰·威克、查德·斯塔赫尔斯基
  3. 汤姆克鲁斯、杰克里奇、克里斯托弗麦夸里
  4. 罗文·阿特金森、约翰尼·英格利希、彼得·豪伊特
  5. 克里斯·派恩、杰克·瑞恩、肯尼斯·布拉纳
  6. 马特·达蒙、杰森·伯恩、保罗·格林格拉斯
  7. 伊恩·萨默海尔德、马可波罗、凯文·康纳

两个 csv 文件 - File1.csv 和 File2.csv 的列数相同(即 3),但两个 csv 文件的第一行不同(File1.csv 有标题,File2.csv 没有标题) .我需要以这样的方式组合两个 csv,使组合文件包含来自两个 csv 文件的所有数据,并具有正确的标题。

【问题讨论】:

  • 将这两个csv文件加载到一个list中,使用extend方法合并list然后进行写操作。

标签: python pandas csv


【解决方案1】:

你可以试试这个:-

import pandas as pd
file1 = pd.read_csv('File1.csv')
file2 = pd.read_csv('File2.csv', header=None)

file2.columns=file1.columns
data_final = pd.concat([file1, file2]).reset_index()

【讨论】:

  • 感谢 Dhaval Taunk,下面是最终的工作代码: import pandas as pd filee1 = pd.read_csv(r'C:\Cypher\file1.csv') filee2 = pd.read_csv(r'C :\Cypher\file2.csv',header=None) filee2.columns=filee1.columns data_final = pd.concat([filee1, filee2]) data_final.to_csv(r'C:\Cypher\combineF1F2.csv',index=假)
【解决方案2】:

工作代码:

import pandas as pd
filee1 = pd.read_csv(r'C:\Cypher\file1.csv')
filee2 = pd.read_csv(r'C:\Cypher\file2.csv',header=None)
filee2.columns=filee1.columns
data_final = pd.concat([filee1, filee2])
data_final.to_csv(r'C:\Cypher\combineF1F2.csv',index=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2018-12-13
    • 2021-10-19
    • 1970-01-01
    • 2021-06-15
    • 2022-10-18
    • 2013-04-15
    相关资源
    最近更新 更多