对象到字典 Python

Object to Dictionary Python

大家好,我有一个 pandas 列,其中包含字典对象,但未被识别为字典。

df.rowExample[0] = '[{"sold": 12, "breed": "golden"}, {"breed": "silver",  
                    "bought": 49}, {"breed": "golden", "bought": 29}]'

我试过 DataFrame.to_dict(df.column) 和 dict(df.column) 但键只是一个数字索引,值是整行。

谢谢!

好像它没有字典...而是字典形式的字符串。

尝试

>>> import ast
>>> ast.literal_eval(df.rowExample[0])

编辑:这看起来像 returns 字典列表...所以

for dictionary in ast.literal_eval(df.rowExample[0]): abetterdict = dictionary

您的数据是字典列表的字符串表示形式。您可以使用 literal_eval:

将其转换为列表对象
import ast

obj = '[{"sold": 12, "breed": "golden"}, {"breed": "silver", "bought": 49},   
       {"breed": "golden", "bought": 29}]'

obj = ast.literal_eval(obj)

或者使用 json 模块以某种方式更安全:

import json

obj = '[{"sold": 12, "breed": "golden"}, {"breed": "silver", "bought": 49},   
       {"breed": "golden", "bought": 29}]'

obj = json.loads(obj)