【发布时间】:2018-01-13 19:38:44
【问题描述】:
这是我的问题,我有 2 个文件,我想在其中读取和打印 lines.append():
文件 1:
ID1 desc1
ID2 desc2
ID3 desc3
ID4 desc4
文件 2:
ID1 random1
ID5 random5
ID6 random6
我想得到的是:
ID1 random1 desc1
ID5 random5 desc5
ID6 randomI nothing
但是,我当前的代码:
address = {}
with open('address.txt', 'r') as f:
rows = (line.rstrip().split('\t') for line in f)
address = { row[0]:row[1:] for row in rows }
for key, value in address.items():
with open('families.txt', 'r') as f:
for line in f.readlines():
line = line.rstrip('\n')
line = line.split('\t')
if line[0] == key:
line.append(str(address[key]))
print ('\t'.join(line))
else:
line.append('nothing')
print ('\t'.join(line))
但是,我得到了一个循环
ID1 random1 desc1
ID5 random5 nothing
ID6 randomI nothing
ID1 random1 nothing
ID5 random5 desc5
ID6 random6 nothing
另外,如果有人能建议最好的方法来丢弃作为我的字典“值”的一部分打印在末尾的方括号。
【问题讨论】:
-
是 File1 'address.txt' 和 File2 'families.txt' 吗?你的问题没有说清楚。你为什么要
for key, value in address.items():?只需遍历 'families.txt' 的内容并使用每行的 ID 来测试它是否在address字典中。
标签: python if-statement append