-3
我需要能够通过重复id的csv运行,并输出id为非重复值的每行id一行。一直在尝试使用熊猫阅读csv。使用python合并csv文件。 1 ID,多个条目
我有什么:
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
我需要能够通过重复id的csv运行,并输出id为非重复值的每行id一行。一直在尝试使用熊猫阅读csv。使用python合并csv文件。 1 ID,多个条目
我有什么:
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
我想你的输入文件名为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