例如:
1.txt文档为(全是字符串类型):
a b c d e
00 dldf 4 dkf df
00 djfj 6 dkk df
12 djkf 5 dff dh
12 dkff 6 dkd fo
2.txt文档为(全是字符串类型):
a b c d e
00 dldf 4 dkf df
12 dkff 6 dkd fo
现在要实现从1.txt中去除与2.txt文档相同的行(标题行不变),得到另一3.txt文档为:
a b c d e
00 djfj 6 dkk df
12 djkf 5 dff dh
(其实是大型数据,这里只是举例)我现在用的代码是:
import sys
import os
import string
fgene1= open('1.txt','r')
fgene2= open('2.txt','r')
fgene3= open('3.txt','a+')
#读取文件首行,无需处理
str1 = fgene1.readline()
fgene3.write(str1)
for oneLine in fgene1:
str1= oneLine.split()
t=1
for PLine in fgene2:
str2= PLine.split()
if (str1==str2) :
t=0
break
if (t==1):
fgene3.write(' '.join(str1)+'\n')
fgene1.close()
fgene2.close()
fgene3.close()
语法没有出错,但是结果不对,还望各位多指点,看是哪里出现问题了,帮我改改,非常感谢!
能否再请教一下?例如:
1.txt文档为:
a b c d e
00 dldf 4 dkf df
00 djfj 6 dkk df
12 djkf 5 dff dh
12 dkff 6 dkd fo
2.txt文档为:
a b c d e
00 dldf 4 sms df
12 dkff 6 fgh fo
判断条件为1.txt中的字符串str1与2.txt中的字符串str2,如果有str1[0]==str2[0] and str1[2]==str2[2],也就去掉1.txt中的该行,如上面示例,输出结果依然为:
a b c d e
00 djfj 6 dkk df
12 djkf 5 dff dh