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

时间:2018-02-12 17:37:26

标签: python python-2.7

说我有两个.txt文件:

file1.txt包含:

model1 2.37
model2 3.33
model3 4.25

file2.txt包含:

model2 2.65
model1 2.39
model3 2.34

我怎样才能读取file1.txt和每一行的每一行:

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

1 个答案:

答案 0 :(得分:0)

我不打算为你编写整个程序,但这里有一些指示:

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]添加到3 rd 字典中(之后)将它们从字符串转换为浮点数)。然后,只需写入新文件。