Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从CSV中的列中查找重复项并在写入前删除_Python_Python 3.x_Csv_Duplicates_Export To Csv - Fatal编程技术网

Python 从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,

我正在通过读取我创建的多个文本文件创建一个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,  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列中的第二个值真的在单独的一行吗?我只是在与带有列表的文本文件进行比较,并将其添加到列中。您能否表示文本文件中显示的输入?