【发布时间】:2019-05-05 05:19:02
【问题描述】:
如何在 pandas 中简单地分隔 JSON 列:
pd.DataFrame({
'col1':[1,2],
'col2':["{'foo':1, 'bar':2, 'baz':{'foo':2, 'x':1}}",
"{'foo':3, 'bar':5, 'baz':{'foo':2, 'x':1}}"]})
col1 col2
0 1 {'foo':1, 'bar':2, 'baz':{'foo':2, 'x':1}}
1 2 {'foo':3, 'bar':5, 'baz':{'foo':2, 'x':1}}
以简单的 Python 方式进入真正的列?
编辑
期望的输出:
pd.DataFrame({'col1':[1,2], 'foo':[1,3], 'bar':[2,5],
'baz_foo':[2,2], 'baz_x':[1,1]})
col1 foo bar baz_foo baz_x
0 1 1 2 2 1
1 2 3 5 2 1
【问题讨论】:
-
您的 JSON 式
col2中的不一致引用实际上是您要解析的吗?实例化您提供的 DataFrame 有效,但使用ast.literal_eval进行下一步不起作用,因为那不是有效的字典。实际上还没有尝试过json库... -
没有。更新了数据。
-
为了清楚起见,您能否也包含您想要的输出?
-
将其添加到问题中。
标签: python json pandas dataframe