我想比较两个 .txt 文件。第一个文件是一个“键”,具有三个由选项卡分隔的值(即“项目编号”、“响应”和“代码”)。第二个文件包含两个由选项卡分隔的值(“项目编号”和“响应”)。我需要我的程序搜索第一个文件,找到任何与第二个文件匹配的“项目编号/响应”对,然后输出正确的“代码”。如果没有匹配,那么我希望输出只是一个空格(“”)。我不是程序员,但弄清楚这一点会大大减少我花在某些工作任务上的时间。
我发现这个线程有助于设置我的代码。我想完成同样的事情。
file 1, "Key.txt":
1 dog C
2 cat C
3 bird C
4 pig C
5 horse C
1 cat Sem
2 bat TA
3 animal Super
4 panda M
5 pencil U
file2, "Uncoded.txt":
4 pig
3 animal
5 bird
2 bat
2 cat
0
1 fluffy
0 dog
1
desired output:
4 pig C
3 animal Super
5 bird
2 bat TA
2 cat C
0
1 fluffy
0 dog
1
下面是我的代码:
f1 = open("Key.txt")
f2 = open("Uncoded.txt")
d = {}
while True:
line = f1.readline()
if not line:
break
c0,c1,c2 = line.split('\t')
d[(c0,c1)] = (c0,c1,c2)
while True:
line = f2.readline()
if not line:
break
c0,c1 = line.split('\t')
if (c0,c1) in d:
vals = d[(c0,c1)]
print (c0, c1, vals[1])
f1.close()
f2.close()
如果我尝试用制表符 ('\t') 分隔行,则会收到 ValueError: too many values to unpack at the line "c0,c1,c2 = line.split('\t')"
非常感谢您的任何见解或帮助!