这是我的输入csv文件。
client_ip listener_service listener_port
127.0.0.1 LMNO 123
::1 PQAR 768
::1 PQAR 128
12.4.5.2.4 67
我想要的输出如下
client_ip listener_service listener_port
127.0.0.1 LMNO 123
::1 PQAR 768,128
12.4.5.2.4 67
with open('client.csv', 'r') as fin, open('client_out_file.csv', 'w',newline='') as ffout:
reader = csv.reader(fin)
writer = csv.writer(ffout)
d = {} # Empty Dictionary
for row in reader:
nkey = row[0]+row[1] #Creating Key using combinations
if nkey not in d:
d[nkey] = row #Assiging Value to the key
writer.writerow(row)
else:
#print(row[2])
#d[nkey]=d[nkey]+list(row[2])
#writer.writerow(row)
需要帮助
其他的
部分或更简单的解决方案,以便在不替换以前的值的情况下,如果出现键的任何新值,它将被包括在内。我试图避免将csv内容保存在列表中,然后使用字典-这需要额外的行。仅供参考-我有大的csv文件。