对象到字典 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)
大家好,我有一个 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)