我有一个包含多个词典,我可以例如与访问一个大的列表:追加多个字典元素列出
>>> papers[0]['TI']
"Presence of tau pathology within fetal neural allografts in patients with Huntington's and Parkinson's disease."
我需要访问列表中的所有的字典的3个不同的密钥([” TI'],['AB']和['MH']),然后将它们打印到一个.txt文件中,但此时我的代码只打印出其中一个键(['TI'])字典。这是我有:
papers = [] # the list of dictionaries
for each in range(0, len(papers)):
out = []
try:
out.append(str(papers[each]['TI']) + "\n" + str(papers[each]['AB']) + "\n" + str(papers[each]['MH']) + "\n")
except KeyError:
out.append("MISSING INFORMATION \n")
for index, line in enumerate(out):
with open(filename+'_{}.txt'.format(index), 'w') as output:
output.write(line)
注:我加STR(),以每个文件密钥,因为我一直得到这个错误:
TypeError: cannot concatenate 'str' and 'list' objects
什么可能是错误的,因为我不能打印3个不同的键,但只有一个?任何帮助,将不胜感激。
可以打印值?也许有一个包含一个列表的条目(即使大多数条目包含一个字符串) –
也许你可以附加出三个键,而不只是第一个。 – fernand0
还注意到:'对于索引,在枚举(输出)中的行: 与开放(文件名+'_ {}。txt'.format(索引),'w')作为输出: output.write(line)'that's incorrect ,换'与'和'for'行,否则你只写最后一行 –