use*_*Geo 12 python json pandas
我试图在下面的JSON结构中读入pandas dataframe,但它抛出了错误消息:
ValueError:将dicts与非Series混合可能会导致模糊排序.
Json数据:
{
"status": {
"statuscode": 200,
"statusmessage": "Everything OK"
},
"result": [{
"id": 22,
"club_id": 16182
}, {
"id": 23,
"club_id": 16182
}, {
"id": 24,
"club_id": 16182
}, {
"id": 25,
"club_id": 16182
}, {
"id": 26,
"club_id": 16182
}, {
"id": 27,
"club_id": 16182
}]
}
Run Code Online (Sandbox Code Playgroud)
我怎么做到这一点?我试过下面的脚本......
j_df = pd.read_json('json_file.json')
j_df
with open(j_file) as jsonfile:
data = json.load(jsonfile)
Run Code Online (Sandbox Code Playgroud)
Rao*_*hab 10
如果您只需要数据框中的结果部分,那么这里是帮助您的代码.
import json
import pandas as pd
data = json.load(open('json_file.json'))
df = pd.DataFrame(data["result"])
Run Code Online (Sandbox Code Playgroud)
你可以用json_normalize
与assign
:
from pandas.io.json import json_normalize
import json
with open('json_file.json') as data_file:
d= json.load(data_file)
df = json_normalize(d, 'result').assign(**d['status'])
print (df)
club_id id statuscode statusmessage
0 16182 22 200 Everything OK
1 16182 23 200 Everything OK
2 16182 24 200 Everything OK
3 16182 25 200 Everything OK
4 16182 26 200 Everything OK
5 16182 27 200 Everything OK
Run Code Online (Sandbox Code Playgroud)
小智 8
如果您只需要数据框中的结果部分,下面的代码可以帮助您:
import json
import pandas as pd
data = json.load(open('json_file.json'))
df = pd.DataFrame(data["result"])
Run Code Online (Sandbox Code Playgroud)
据我所知,发生 ValueError 的原因是数据类型到处都是,一些字符串,一些列表,多个 {} 等。这个错误可以通过规范化数据来解决。为此,代码如下:
import json
with open('json_file.json') as project_file:
data = json.load(project_file)
df = pd.json_normalize(data)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14746 次 |
最近记录: |