Python 属性错误:';列表';对象没有属性';钥匙';尝试从DICT列表创建数据帧时

Python 属性错误:';列表';对象没有属性';钥匙';尝试从DICT列表创建数据帧时,python,list,dictionary,pandas,dataframe,Python,List,Dictionary,Pandas,Dataframe,非常感谢你的帮助 我有一个字典列表,需要放在数据框中。我知道熊猫的正常方法是 final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year') 其中,Mixed_和_pould是一个包含另一个实际包含字典的列表的列表 print Mixed_and_Poured [[{'Country': 'Brazil', u'Internet users': '2.9', 'Year': '2000'}, {'Country': '

非常感谢你的帮助

我有一个字典列表,需要放在数据框中。我知道熊猫的正常方法是

final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year')
其中,Mixed_和_pould是一个包含另一个实际包含字典的列表的列表

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'

为什么现在要在列表中查找密钥?

我无法用给定的数据重现您的错误,我得到了一个密钥错误

但为什么还要使用“从U记录”呢

pd.DataFrame(Mixed_and_Poured[0]).set_index('Year')
输出:


事实证明,我并不是在操作一个仅仅是字典的列表,有一个小混蛋列表隐藏在那里的最后


对不起,你会的

当列表中的几个项目不可用(无)时,我也遇到了这个问题。名单很大,所以一开始我没有注意到。我使用的最简单的快速修复方法是创建一个新列表,其中只包含“无”项:

list1 = [2,3,4, None, 2]
list1 = [item for item in list1 if item != None]
list1
[2, 3, 4, 2]

我倒了很多水,弄不明白我的解决方案出了什么问题,你还需要另一个
[0]
?显然,它需要一个字典。使用pandas 0.16.2和Python3.4,如果我将
索引
更正为
“年”
(注意大写)我从
Mixed_和
中删除了尾随逗号,并添加了两个结束括号
]
。我得到了AttributeError:“list”对象没有属性“keys”,但我的数据有点长。我应该发布整个内容吗?我使用的是from_records,因为我发布的链接中有一个答案推荐了它。如果有人感兴趣,我发现我的数据结构都错了。让我把它修好,然后把我弄明白的东西贴出来,我就准备好了!在我的字典列表的末尾有一个嵌套的列表:bHa,我已经有一段时间没有看到这个了!我看到的唯一问题是一个模糊的尝试,除了,这是一个反模式。考虑捕获一个特定的异常,如<代码>属性错误,或者您可能意外地抑制了代码中的严重缺陷,这将在以后引起麻烦。你是对的,尝试例外应该更具体。另一种方法是检查对象是否为无。
list1 = [2,3,4, None, 2]
list1 = [item for item in list1 if item != None]
list1
[2, 3, 4, 2]