在Python中查找并组合数据

1 python string file

我有3个文本文件

  1. 许多行value1<tab>value2(可能600)
  2. 更多行value2<tab>value3(可能是1000)
  3. 更多行value2<tab>value4(可能是2000年)

并非所有行都匹配,有些行会丢失一个或多个val.我想获取文件1,读取它并在文件2和3中查找相应的值,并将输出写为 - 例如

value1<tab>value2<tab>value3<tab>value4
value1<tab>value2<tab>blank <tab>value4
Run Code Online (Sandbox Code Playgroud)

即通过打印一些文本来指示缺少该值

在awk中,我可以通过将文件读入前面的数组然后结束END并逐步执行它们来开始.但是我想使用Python(3)来实现可移植性.我在使用MS Access和链接表的PC上执行此操作,但每次使用此方法时都会有时间损失.

所有在字典或列表中理解这一点的努力都让我感到困惑.我现在似乎有每本Python书!

非常感谢能提供建议的任何人.(如果有兴趣,它是arp,mac和供应商代码)

bal*_*pha 5

未经测试:

f1 = open("file1.txt")
f2 = open("file2.txt")
f3 = open("file3.txt")

v1 = [line.split() for line in f1]
# dict comprehensions following, these need Python 3
v2 = {vals[0]:vals[1] for vals in line.split() for line in f2}
v3 = {vals[0]:vals[1] for vals in line.split() for line in f3}

for v in v1:
  print( v[0] + "\t" + v[1] + "\t" + v2.get(v[1],"blank ") + "\t" + v3.get(v[1],"blank ") )
Run Code Online (Sandbox Code Playgroud)