我正在尝试读取CSV文件并将其中的行写入另一个csv文件。我的输入文件有重复的行。在输出中,我只需要单行。从我的示例脚本中,您可以看到我创建了一个名为“读者”的列表。该列表获得了输入csv的所有行。然后在for循环中,我使用writer.writerow(读者[1] + ....),它基本上读取标题后面的第一行。但问题是这第一行是重复的。我如何调整我的脚本,使它只执行一次?忽略CSV上的重复行
for path in glob.glob("out.csv"):
if path == "out1.csv": continue
with open(path) as fh:
readers = list(csv.reader(fh))
for row in readers:
if row[8] == 'READ' and row[10] == '1110':
writer.writerow(readers[1] + [] + [row[2]])
elif row[8] == 'READ' and row[10] == '1011':
writer.writerow(readers[1] + [] + [" "] + [" "] + [" "] + [row[2]])
elif row[8] == 'READ' and row[10] != ('1101', '0111'):
writer.writerow(readers[1] + [] + [" "] + [row[2]])
采样输入
ID No. Name Value RESULTS
28 Jason 56789 Fail
28 Jason 56789 Fail
28 Jason 56789 Fail
28 Jason 56789 Fail
行是否已排序(即,我们可以预计重复出现在另一个旁边吗?或者脚本是否也需要这样做? – Dan
对不起,请您详细说明一下,您在这里排序的意思是什么?我想在我的脚本中进行更改,以便只写一次相同的行。目前它重复相同的行。 – Muscles