場合、私は2つの私が読みたいファイル、および印刷lines.append()があります。ループでPythonの印刷lines.appendに()これは私の問題です/他
はFile1:
ID1 desc1
ID2 desc2
ID3 desc3
ID4 desc4
を
ファイル2:
ID1 random1
ID5 random5
ID6 random6
私は何を取得したいと思いがある:
ID1 random1 desc1
ID5 random5 desc5
ID6 randomI nothing
しかし、私の現在のコード:しかし、私はまた、代わりに
ID1 random1 desc1
ID5 random5 nothing
ID6 randomI nothing
ID1 random1 nothing
ID5 random5 desc5
ID6 random6 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))
、それはいいだろう最終的に私の辞書の '値'の一部として印刷された大括弧を捨てる最良の方法です。
File1 'address.txt'、File2 'families.txt'ですか?あなたの質問はそれをはっきりさせません。そして、あなたはなぜaddress.items()の鍵となる価値を求めているのですか? 'families.txt'の内容をループし、各行のIDを使用して 'address'辞書にあるかどうかをテストします。 –