【问题标题】:Merging and grouping multiple csv files with Ipython and pandas使用 Ipython 和 pandas 合并和分组多个 csv 文件
【发布时间】:2015-04-07 11:34:43
【问题描述】:

我想要这样的东西:

Column A  Column B  Column C
100       200       No Value
400       No value  500

当 CSV 文件看起来像这样时:

CSV 文件 1

Column A  Column B
100       200

CSV 文件 2

Column A  Column C
400       500

我已经开始导入类似这样的东西:

file_list = [CSV File 1, CSV File 2]
#Empty list
list = []
for n in range(len(file_list)):
    g = pd.read_csv(file_list[n], delimiter = "\;")
    list.append(g)
#Data frame for all the values
real_list = pd.concat(list, axis = 1)

这给出了类似的结果。

Column A    Column B    Column A    Column B
100         200         400         500

这是错的。

任何想法都非常感谢 =)

【问题讨论】:

    标签: python csv pandas merge ipython


    【解决方案1】:

    只需执行一个外部merge

    In [8]:
    
    df.merge(df1, how='outer')
    Out[8]:
       Column A  Column B  Column C
    0       100       200       NaN
    1       400       NaN       500
    

    您在使用 concat 时得到该结果的原因是您按列连接并且它与公共索引值对齐

    【讨论】:

    • 好的,我重写了代码以使其工作。是否可以在 for 循环中执行此操作,以便我可以有效地将 10 个 csv 文件以相同的方式合并在一起?
    • 您必须将每个文件相互合并,concat 不会生成您要查找的 csv
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 2015-05-23
    • 2018-11-02
    • 2018-02-14
    • 2019-11-25
    • 1970-01-01
    相关资源
    最近更新 更多