我有一个由JSON结构化数据组成的列。我的df
看起来像这样:
ClientToken Data
7a9ee887-8a09-ff9592e08245 [{"summaryId":"4814223456","duration":952,"startTime":1587442919}]
bac49563-2cf0-cb08e69daa48 [{"summaryId":"4814239586","duration":132,"startTime":1587443876}]
我想把它扩展到:
ClientToken summaryId duration startTime
7a9ee887-8a09-ff9592e08245 4814223456 952 1587442919
bac49563-2cf0-cb08e69daa48 4814239586 132 1587443876`
有什么想法吗
另一种方法是使用defaultdict和ast literal eval:
您可以尝试:
解释:
Data
列并应用以下步骤:Data
”内容被包装在一个列表中,这是一个字符串,所以我们可以使用x[1:-1]
(删除第一个和最后一个字符)手动删除[]
李>"Data"
列是一个string
,我们实际上需要一个JSON
,所以我们需要转换它。一种解决方案是使用来自^{json.loads(x[1:-1])
pd.Series(json.loads(x[1:-1]))
将dict
转换为^{[]
来选择"ClientToken"
列作为数据帧李>代码+插图:
编辑1:
由于
Data
中的list
似乎有一些行有多个dicts
,您可以尝试:相关问题 更多 >
编程相关推荐