Python 从文件1的每一行读取每个名称,在文件2中查找相同的名称,比较值

Python 从文件1的每一行读取每个名称,在文件2中查找相同的名称,比较值,python,python-2.7,Python,Python 2.7,假设我有两个.txt文件: file1.txt包含: model1 2.37 model2 3.33 model3 4.25 model2 2.65 model1 2.39 model3 2.34 file2.txt包含: model1 2.37 model2 3.33 model3 4.25 model2 2.65 model1 2.39 model3 2.34 如何读取file1.txt的每一行以及每一行: 列表项 阅读模型 在file2.txt中搜索它 比较两个值,即模型1增加了0

假设我有两个.txt文件:

file1.txt包含:

model1 2.37
model2 3.33
model3 4.25
model2 2.65
model1 2.39
model3 2.34
file2.txt包含:

model1 2.37
model2 3.33
model3 4.25
model2 2.65
model1 2.39
model3 2.34
如何读取file1.txt的每一行以及每一行:

  • 列表项
  • 阅读模型
  • 在file2.txt中搜索它
  • 比较两个值,即模型1增加了0.02,模型3减少了-1.91
  • 将差异报告回另一个.txt文件

  • 我不会为您编写整个程序,但这里有一些提示:

    vals1 = open('file1.txt', 'r').read().splitlines()
    vals2 = open('file2.txt', 'r').read().splitlines()
    vals1 = dict([item.split() for item in vals1])
    vals2 = dict([item.split() for item in vals2])
    
    使用上述代码将值解包到字典中


    接下来,迭代
    vals1
    ,对于每个键,在
    vals2
    中查找该键,并将
    vals2[key]-vals1[key]
    添加到第三个字典(将它们从字符串转换为浮动后)。然后,只需写一个新文件。

    因此,既不是代码编写,也不是教程服务,这个问题太广泛了。我建议从结构化教程开始,例如,我认为这个问题问得太多了。把它分成几个小问题,并举例说明你尝试过什么,以及为什么它不起作用。这不是一个我们为你编写代码的网站。