Python 从CSV中的列中查找重复项并在写入前删除
我正在通过读取我创建的多个文本文件创建一个csv文件,如下所示Python 从CSV中的列中查找重复项并在写入前删除,python,python-3.x,csv,duplicates,export-to-csv,Python,Python 3.x,Csv,Duplicates,Export To Csv,我正在通过读取我创建的多个文本文件创建一个csv文件,如下所示 Col1, Col2, Col3, Col4 name1, copy, create, copy cut paste name2, data, null , data cut cut 在写入csv之前,我想删除第4列与第2列中的重复项。如上文第1行所述,第4列应仅为粘贴如第2行所示,第4列应为空 所需输出应类似于: Col1, Col2, Col3,
Col1, Col2, Col3, Col4
name1, copy, create, copy
cut paste
name2, data, null , data
cut cut
在写入csv之前,我想删除第4列与第2列中的重复项。如上文第1行所述,第4列应仅为粘贴如第2行所示,第4列应为空
所需输出应类似于:
Col1, Col2, Col3, Col4
name1, copy, create, paste
cut
name2, data, null ,
cut
我有下面这样的东西
stat2 = 'Col1,Col2,Col3,Col4\n'
text_file=os.listdir('.data/')
for pack in text_file:
file = open("./data/"+ pack, "r")
perp = file.read()
stat2 += pack + ',"'
#I'm iterating through different set of list and matching with all multiple files.
for word in package:
stat2 += word + "\n"
stat2 += '","'
for word in data:
stat2 += word + "\n"
stat2 += '","'
for word in file:
stat2 += word + "\n"
stat2 += '"' + "\n"
f = open("data/csv_file.csv", "w")
f.write(stat2)
我想在将其写入csv之前删除重复项。任何人都可以建议这方面的更新。谢谢这个问题不是很清楚。但是,您通常可以将一个列表的元素与另一个列表进行比较和编辑,并从目标列表中删除重复项。假设在本例中,col2是目标列表:
col1 = ['copy','create','cut']
col2 = ['copy','create','cut','delete']
您可以使用列表理解创建仅具有唯一值的新列表:
col2 = [i for i in col2 if i not in col1 ]
然后如果你打印结果,你会得到col2的结果:
['delete']
您能澄清一下所需输出中的换行符是怎么回事吗。第2列中的第二个值真的在单独的一行吗?我只是在与带有列表的文本文件进行比较,并将其添加到列中。您能否表示文本文件中显示的输入?