读取数据帧字典类型错误:字符串索引必须是整数,而不是str,

2024-10-02 22:37:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从数据帧列(嵌套字典)中获取列和值的列表:

数据帧列如下所示:

{"id":"0","request":{"plantSearch":"true","maxResults":"51","caller":"WMS","companyCode":"GB54","purchOrg":"UPSO","Code":"5852","confidential":"false","flag":"true","service":"false","Item":"false","mastered":"true","copas":"false","pscmBlock":"false","descOperator":"CO","assocManuf":"PETK"},"response":{"hasMoreResults":"false","resultsCount":"0","execTime":"878 ms"}}

我正在写一个代码:

^{pr2}$

问题是python将“row”作为字符串引用,即使它是字典。在


Tags: 数据idfalsetrue列表字典requestcaller
1条回答
网友
1楼 · 发布于 2024-10-02 22:37:11

我认为您可以使用json.loadsdictDataFrame构造函数一起转换为request键中的所有数据:

df = pd.DataFrame({'data':['{"id":"0","request":{"plantSearch":"true","maxResults":"51","caller":"WMS","companyCode":"GB54","purchOrg":"UPSO","Code":"5852","confidential":"false","flag":"true","service":"false","Item":"false","mastered":"true","copas":"false","pscmBlock":"false","descOperator":"CO","assocManuf":"PETK"},"response":{"hasMoreResults":"false","resultsCount":"0","execTime":"878 ms"}}','{"id":"0","request":{"plantSearch":"true","maxResults":"51","caller":"WMS","companyCode":"GB54","purchOrg":"UPSO","Code":"5852","confidential":"false","flag":"true","service":"false","Item":"false","mastered":"true","copas":"false","pscmBlock":"false","descOperator":"CO","assocManuf":"PETK"},"response":{"hasMoreResults":"false","resultsCount":"0","execTime":"878 ms"}}']})
print (df)

                                                data
0  {"id":"0","request":{"plantSearch":"true","max...
1  {"id":"0","request":{"plantSearch":"true","max...

^{pr2}$

类似解决方案:

^{3}$

最后可以按子集选择列:

cols = ['plantSearch','maxResults']
df2 = df[cols]
print (df2)
  plantSearch maxResults
0        true         51
1        true         51

相关问题 更多 >