我有以下 csv 文件,我想将其转换为输出,基本上它将第一列值作为键读取,然后将下一个值附加到列中
输入.csv
a.jpg,a,b
a.jpg,c,d
b.jpg,e,f
b.jpg,g,h
c.jpg,i,j
c.jpg,k,l
c.jpg,m,n
c.jpg,o,p
c.jpg,q,r
d.jpg,s,t
d.jpg,u,v
e.jpg,w,x
e.jpg,y,z
输出.csv
a.jpg a,b c,d
b.jpg e,f g,h
c.jpg i,j k,l m,n o,p q,r
d.jpg s,t u,v
e.jpg w,x y,z
我尝试了以下方法,但仍然无法弄清楚如何根据上面所需的格式解压缩值以输出 csv
import csv
with open('input.csv', 'r', newline='') as input_csv, open('output.csv', 'w', newline='') as output_csv:
filename = {}
for row in csv.reader(input_csv):
if row[0] not in filename:
filename[row[0]]=[[row[1],row[2]]]
else:
filename[row[0]].append([row[1],row[2]])
for item in filename.items():
print(item)
输出
('a.jpg', [['a', 'b'], ['c', 'd']])
('b.jpg', [['e', 'f'], ['g', 'h']])
('c.jpg', [['i', 'j'], ['k', 'l'], ['m', 'n'], ['o', 'p'], ['q', 'r']])
('d.jpg', [['s', 't'], ['u', 'v']])
('e.jpg', [['w', 'x'], ['y', 'z']])