【问题标题】:Consolidating csv file with python. 1 ID, multiple entries用 python 合并 csv 文件。 1 个 ID,多个条目
【发布时间】:2016-12-06 01:20:29
【问题描述】:

我需要能够通过重复 id 运行 csv,并在每个 id 的一行上输出具有非重复值的 id。一直在尝试使用 pandas 来读取 csv。

我有什么:

Id, Bin  
1, a1  
1, a2  
1, b2  
2, a4  
2, a5  
2, b4  
2, b5

我想要什么:

Id, Bin  
1, a1, a2, b2  
2, a4, a5, b4, b5

【问题讨论】:

    标签: python python-3.x csv


    【解决方案1】:

    我想您的输入文件名为id_input.csv

    因此,在我的解决方案中,我将使用来自itertools 模块的groupby,如下例所示:

    id_input.csv:

    Id, Bin  
    1, a1  
    1, a2  
    1, b2  
    2, a4  
    2, a5  
    2, b4  
    2, b5
    

    将打印所需输出的脚本是:

    from itertools import groupby
    
    data = list(k.replace("\n", "").strip().split(",") for k in open("id_input.csv", 'r'))
    
    
    for key, val in groupby(data, lambda x : x[0]):
        if key != "Id":
            print("%s, %s" %(key, ",".join(k[1] for k in list(val))))
    

    输出:

    1,  a1, a2, b2
    2,  a4, a5, b4, b5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 2021-09-27
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      相关资源
      最近更新 更多