Python 如何基于关键字合并csv字段

Python 如何基于关键字合并csv字段,python,csv,Python,Csv,我有以下清单: key,value 1,"1" 1,"2" 1,"3" 2,"1" 2,"2" 2,"3" 2,"4" 2,"5" 3,"1" 3,"2" 3,"3" 如何基于具有相同键合并值,使其成为: key,value 1,"1,2,3" 2,"1,2,3,4,5" 3,"1,2,3" 我使用的代码来自,但结果是: 1,"1",1,"2",1,"3" 3,"1",3,"2",3,"3" 2,"1",2,"2",2,"3",2,"4",2,"5" IIUC,如果您想在没有业务案例的情况

我有以下清单:

key,value
1,"1"
1,"2"
1,"3"
2,"1"
2,"2"
2,"3"
2,"4"
2,"5"
3,"1"
3,"2"
3,"3"
如何基于具有相同键合并值,使其成为:

key,value
1,"1,2,3"
2,"1,2,3,4,5"
3,"1,2,3"
我使用的代码来自,但结果是:

1,"1",1,"2",1,"3"
3,"1",3,"2",3,"3"
2,"1",2,"2",2,"3",2,"4",2,"5"

IIUC,如果您想在没有业务案例的情况下看到这样的可能性,下面是您可以使用具有键value的
pandas数据帧
d执行的操作:

d.groupby(['key'])['value'].apply(lambda x: ','.join(x)).reset_index()


    key value
0   1   1,2,3
1   2   1,2,3,4,5
2   3   1,2,3  
您可以尝试以下方法:

s = """
key,value
1,"1"
1,"2"
1,"3"
2,"1"
2,"2"
2,"3"
2,"4"
2,"5"
3,"1"
3,"2"
3,"3"
 """
import itertools
new_data = [i.split(',') for i in s.split('\n')][2:-1]
new_data = [[int(a), b[1:-1]] for a, b in new_data]
final_data = [(a, ','.join([d for c, d in list(b)])) for a, b in itertools.groupby(new_data, key=lambda x:x[0])]
输出:

[(1, '1,2,3'), (2, '1,2,3,4,5'), (3, '1,2,3')]

您也可以尝试使用
defaultdict

In [15]: li = [(1, '1'), (1, '2'), (1, '3'), (2, '1'), (2, '2'), (2, '3'), (2, '4'), (2, '5'), (3, '1'), (3, '2'), (3, '3')]

In [16]: dic = defaultdict(list)
In [17]: for key, value in li:
    ...:     dic[key].append(value)

In [18]: dic
Out[18]: 
defaultdict(list,
            {1: ['1', '2', '3'],
             2: ['1', '2', '3', '4', '5'],
             3: ['1', '2', '3']})

我看不出你在哪里张贴了你一直在编码的代码?