使用python整合csv文件。 1个ID,多个条目

时间:2016-12-06 01:20:30

标签: python python-3.x csv

我需要能够通过重复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

1 个答案:

答案 0 :(得分:1)

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

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

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