我想比较两个每个都有三列的文本文件。一个文件有999行,另一个文件有757行。我希望将不同的242行存储在不同的文件中。我使用随机网络生成器创建了第一个文件(999行)(999行是边,第三列是第一,第二列之间的权重-
源节点和目标节点)。
文件格式-文件1、2
1 3 1
16 36 1
我试过了
逐行比较两个文件,并在另一个文件中产生差异,并
找到两个文本文件之间的差异,每行一个,并且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系统,最好的通用选项只是使用:
sort filea fileb | uniq -u
但是,如果您需要使用Python:
您的代码在外部文件的每次迭代中都会重新打开内部文件。在循环外打开它。
使用嵌套循环比循环遍历第一个存储找到的值,然后将第二个与这些值进行比较的效率低。
def build_set(filename):
# A set stores a collection of unique items. Both adding items and searching for them
# are quick, so it's perfect for this application.
found = set()
with open(filename) as f:
for line in f:
# [:2] gives us the first two elements of the list.
# Tuples, unlike lists, cannot be changed, which is a requirement for anything
# being stored in a set.
found.add(tuple(sorted(line.split()[:2])))
return found
set_more = build_set('100rwsnMore.txt')
set_del = build_set('100rwsnDeleted.txt')
with open('results.txt', 'w') as out_file:
# Using with to open files ensures that they are properly closed, even if the code
# raises an exception.
for res in (set_more - set_del):
# The - computes the elements in set_more not in set_del.
out_file.write(" ".join(res) + "\n")
我有两个文件-file1.txt和file2.txt。我想用powershell比较这两个文件,并生成第三个文件(file3.txt),它包含从file1.txt开始的所有行减去file2.txt中的行 你能想出什么办法来做这件事吗?
我需要逐行比较两个文件。在每个文件中,行只有1或-1,所以如果行相同,就不要计数,如果行不同,就计数=+1。 例如:
有人请建议我一个工具来比较两个文本文件和保存第二个文本文件的差异。 例
问题内容: 我正在尝试编写一种简单的算法来读取两个XML文件,它们的节点和结构完全相同,但子节点内部的数据不一定相同,顺序也不相同。我该如何使用Microsoft的XML Diff .DLL创建一个简单的实现来创建第三个临时XML(即两个第一个XML之间的差异)? MSDN上的XML Diff: XML差异和补丁工具 XML Diff和Patch GUI工具 要比较的两个不同XML文件的样本XML
我正在创建一个医院管理系统,其中我有2个类,即Add医生和Add病人,从用户那里输入他们的详细信息,并将其存储到各自的文件中。我现在想创建一个约会类,在这个类中,我可以将具有特定ID的患者分配给从文件中读取的具有特定ID的医生。如果Java支持多重继承,这将非常容易,但是因为它不支持,所以我无法完成这项任务。 下面是我的AddDoctor课程 下面是我的AddPatient课程