我试图将几行csv数据合并成一长行,因为两个单元格包含相同的数据。例如,以以下csv为例:one, two, three
1, 2, 3
4, 5, 6
7, 8, 9
1, 1, 1
4, 4, 4
如果两行在[0]行共享相同的值,我希望第二行附加到第一行。所以我的最终产品应该是这样的:
^{pr2}$
以下是我目前为止的尝试:import csv
uniqueNum = []
uniqueMaster = []
count = -1
with open("Test.csv", "rb") as source:
reader = csv.reader(source)
header = next(reader)
for row in reader:
if row[0] not in uniqueNum:
uniqueMaster.append(row)
uniqueNum.append(row[0])
count = count + 1
for row in reader:
if row[0] in uniqueNum:
uniqueMaster[count].append(row)
with open("holding.csv","wb") as result:
writer = csv.writer(result)
writer.writerow(header)
for row in uniqueMaster:
writer.writerow(row)
在我看来一切正常,但我的脚本只输出以下内容:one, two, three
1, 2, 3, ['1', '1', '1']
这显然是错误的,有两个原因。首先,它不会遍历整个csv,其次,附加值被压缩到一个单元格中,而不是单个单元格中。如果任何人有任何建议,让这工作正确,我将非常感谢!在