无法使用python将Dictionary打印为DataFrame

时间:2019-03-11 08:28:02

标签: python pandas dictionary

我有文本文件包含字典,当尝试使用熊猫在类中的数据框中导入和打印时,它显示错误为“ ValueError:DataFrame构造函数未正确调用!”。但是当尝试在单元格中的jupyter笔记本中导入和打印时。它能够打印数据框。不知道错在哪里。数据框如下。

 {'id_1' : {'name': 'person1','height': u'150', 'weight': 56, 'age' : 20, 'DOB' : ''02 Aug 2005'}, 
  'id_2' : {'name': 'person2','height': u'145', 'weight': 50, 'age' : 22, 'DOB' : ''25 Sept 2005'}, 
  'id_3' : {'name': 'person3','height': u'165', 'weight': 65, 'age' : 25, 'DOB' : ''17 May 2004'}}

1 个答案:

答案 0 :(得分:2)

如果从文本文件中进行解析,我认为有必要先通过ast.literal_eval将字符串转换为字典,然后调用DataFrame.from_dict

d = """{'id_1' : {'name': 'person1','height': u'150', 'weight': 56, 'age' : 20, 'DOB' : '02 Aug 2005'},
     'id_2' :{'name': 'person2','height': u'145', 'weight': 50, 'age' : 22, 'DOB' : '25 Sept 2005'}, 
     'id_3' : {'name': 'person3','height': u'165', 'weight': 65, 'age' : 25, 'DOB' : '17 May 2004'}}"""

import ast

df = pd.DataFrame.from_dict(ast.literal_eval(d), orient='index')
print (df)
         name height  weight  age           DOB
id_1  person1    150      56   20   02 Aug 2005
id_2  person2    145      50   22  25 Sept 2005
id_3  person3    165      65   25   17 May 2004