[英]Removing lines in one file that are present in another file using python
我坚持使用python中存在另一个文件的行删除存在文件的行。 我使用两个 for 循环进行字符串匹配,但它在循环的第二次迭代中给出了重复的行。 有没有其他方法可以做到。 谢谢
with open('results.csv','r+') as source:
lines = source.readlines()
f = open('results_comments.csv','r')
line = f.readlines()
for l in line:
for L in lines:
if L!=l:
source.write(L)
f.close()
你可以试试:
with open('results.csv','r') as source:
lines_src = source.readlines()
with open('results_comments.csv','r') as f:
lines_f = f.readlines()
destination = open("destination.csv","w")
for data in lines_src:
if data not in lines_f:
destination.write(data)
destination.close()
您的变量名称令人困惑,所以我重命名了几个。 我认为你需要打开一个新文件来写入结果(至少这会让你更清楚你想要做什么)。 如果您想要相同的名称,您可以在之后重命名文件。
with open('results.csv','r+') as source:
filter_lines = source.readlines()
with open('results_comments.csv','r') as f:
lines = f.readlines()
with open('target.csv', 'w') as target:
for line in lines:
if line not in filter_lines:
target.write(line)
with open('results.csv','r+') as source:
lines = source.readlines()
f = open('results_comments.csv','r')
line = f.readlines()
line = filter(lambda x : x not in lines, line)
f.write('\n'.join(line))
f.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.