我有两份不同的记录。一个只有一列有名称,第二个有两列,一列有相同的名称列表,另一列有id。第一条记录中的名称是唯一的,但第二条记录中的名称是重复的;id是唯一的。我想使用Name列将一个列表与另一个列表进行匹配,并在名称相同时将id附加到同一行。你知道吗
文件1
Name1
Name2
Name3
Name4
Name5
文件2
Name1 ID001
Name1 ID002
Name2 ID003
Name3 ID004
Name4 ID005
Name4 ID006
Name4 ID007
Name5 ID008
输出
Name1 ID001 ID002
Name2 ID003
Name3 ID004
Name4 ID005 ID006 ID007
Name5 ID008
到目前为止,我的情况是:
f1 = open('Test1.txt')
for line1 in f1:
f2 = open('Test2.txt')
for line2 in f2:
line3 = f2.split(' ')
if line1 == line3[0]:
print(line3[1])
但输出只是最后一条记录:
ID008
对于Test1.txt输入:
此输入为Test2.txt:
此代码:
生成此输出:
注意使用
strip
来实现等式。你知道吗您可以将内容存储在
dict
中,然后遍历dict
并在构建后打印内容。本例中读取文件内容的方式假定文本文件中的每行之间没有空行:结果是:
首先,在循环中打开文件的原因是什么。先打开它。其次,print语句与预期输出不匹配。此外,还可以对文件而不是行应用拆分。以下是解决问题的建议:
相关问题 更多 >
编程相关推荐