我正在读取json文件以获取数据。 json像这样开始:
{
"rows": [
[
2013,
"Mazda",
"3",
"917723",
7795,
20895
],
[
2016,
"Cadillac",
"ATS",
"DD16135D",
54890,
66000
]
我正在尝试将一行中的值放入单独的列中。 我尝试执行以下操作:
df = pd.read_json(path, orient='values')
得到结果:
rows
0 [2013, Mazda, 3, 917723, 77...
1 [2016, Cadillac, ATS, DD161...
2 [2015, Mitsubishi, Outlander,...
3 [2016, BMW, 528I, 918058, 3...
4 [2015, Toyota, Venza, 91806...
最终,我希望在数据框中有7列,每一列代表一行中的每个项目。我该如何实现?
答案 0 :(得分:2)
您可以将json
文件读入字典,然后选择'rows'
键:
# replace data with open('data.json')
with data as f:
df = pd.DataFrame(json.load(f)['rows'])
print(df)
0 1 2 3 4 5
0 2013 Mazda 3 917723 7795 20895
1 2016 Cadillac ATS DD16135D 54890 66000
设置
from io import StringIO
import json
data = StringIO("""{
"rows": [
[
2013,
"Mazda",
"3",
"917723",
7795,
20895
],
[
2016,
"Cadillac",
"ATS",
"DD16135D",
54890,
66000
]]}""")