我想比较两个文本文件,每个文件有三列。一个文件有999行,另一个文件有757行。我希望不同的242行存储在不同的文件中。我使用随机网络生成器创建了第一个文件(999行)(999行是边,第三列是第一列和第二列之间的权重-源节点和目标节点)。
文件格式-文件1、2
1 3 1
16 36 1
我试过了
Compare two files line by line and generate the difference in another file 和 find difference between two text files with one item per line和http://www.daniweb.com/software-development/python/threads/124932/610058#post610058
都不适合我。
我认为这是一个字符串比较的问题。我想比较一下第一栏和第二栏的数字。如果两者都不同,我想把它写到第三个文件。
任何帮助都将不胜感激!
更新
我在@MK发布评论后发布了以下代码。
f = open("results.txt","w")
for line in file("100rwsnMore.txt"):
rwsncount += 1
line = line.split()
src = line[0]
dest = line[1]
for row in file("100rwsnDeleted.txt"):
row = row.split()
s = row[0]
d = row[1]
if(s != src and d != dest):
f.write(str(s))
f.write(' ')
f.write(str(d))
f.write('\n')
f.close()
如果您使用的是*nix系统,最好的通用选项是使用:
但如果需要使用Python:
您的代码在外部文件的每次迭代中重新打开内部文件。在圈外打开。
使用嵌套循环比循环第一个存储找到的值,然后将第二个值与这些值进行比较效率低。
相关问题 更多 >
编程相关推荐