从json数据创建pandas dataframe
Published on Aug. 22, 2023, 12:11 p.m.
1从json文件中创建
[
{
"id": "A001",
"name": "Tom",
"math": 60,
"physics": 66,
"chemistry": 61
},
{
"id": "A002",
"name": "James",
"math": 89,
"physics": 76,
"chemistry": 51
},
{
"id": "A003",
"name": "Jenny",
"math": 79,
"physics": 90,
"chemistry": 78
}
]
读取json文件可以使用read_json().
df = pd.read_json(‘data/simple.json’)
2 从远程url读取json
URL = ‘http://raw.githubusercontent.com/BindiChen/machine-learning/master/data-analysis/027-pandas-convert-json/data/simple.json‘
df = pd.read_json(URL)
3 从json对象中创建
{
"school_name": "ABC primary school",
"class": "Year 1",
"students": [
{
"id": "A001",
"name": "Tom",
"math": 60,
"physics": 66,
"chemistry": 61
},
{
"id": "A002",
"name": "James",
"math": 89,
"physics": 76,
"chemistry": 51
},
{
"id": "A003",
"name": "Jenny",
"math": 79,
"physics": 90,
"chemistry": 78
}]
}
依旧使用read_json()读取
df = pd.read_json(‘data/nested_list.json’)
如果想要拆分多层嵌套
import json
# load data using Python JSON module
with open('data/nested_array.json','r') as f:
data = json.loads(f.read())
# Flatten data
df_nested_list = pd.json_normalize(data, record_path =['students'])
相关链接
https://towardsdatascience.com/how-to-convert-json-into-a-pandas-dataframe-100b2ae1e0d8