非常感谢您的帮助,
我有一个字典列表,我需要放在数据框中。我知道pandas中的常规方法是
final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year')
其中Mixed_and_poured是一个列表,其中包含另一个实际包含词典的列表
print Mixed_and_Poured
[[{'Country': 'Brazil', u'Internet users': '2.9', 'Year': '2000'}, {'Country': 'Brazil', u'Internet users': '21', 'Year': '2005'}, {'Country': 'Brazil', u'Internet users': '40.7', 'Year': '2010'}, {'Country': 'Brazil', u'Internet users': '45', 'Year': '2011'},
我可以发誓
final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year')
刚刚工作!!但是当我今天跑它时它会抛出
AttributeError: 'list' object has no attribute 'keys'
为什么现在在这个列表中寻找密钥?
答案 0 :(得分:3)
事实证明我实际上并没有在一个字典列表上运行,最后有一个小混蛋列表隐藏在那里。
抱歉,你好!
答案 1 :(得分:2)
我无法使用给定的数据重现您的错误,我得到了一个KeyError。
但为什么甚至使用from_records?
pd.DataFrame(Mixed_and_Poured[0]).set_index('Year')
输出:
Country Internet users
Year
2000 Brazil 2.9
2005 Brazil 21
2010 Brazil 40.7
2011 Brazil 45
答案 2 :(得分:0)
当列表中的一些项目不可用时,我也遇到了这个问题(无)。这个名单很大,所以我一开始并没有注意到。我使用的最简单的快速修复是创建一个新列表,只有项目是无:
list1 = [2,3,4, None, 2]
list1 = [item for item in list1 if item != None]
list1
[2, 3, 4, 2]