【发布时间】:2019-08-24 18:23:22
【问题描述】:
我正在尝试理解这一点。
我有这个 JSON 文件:
[
{
"id": 1,
"Z": "a",
"C": "z",
"D": "text"
},
{
"id": 2,
"Z": "b",
"C": "y",
"D": "text"
},
{
"id": 3,
"Z": "c",
"C": "x",
"D": "text"
}
]
数据的顺序是有意义的,需要保留,无论是对于行还是列。我需要将它加载到数据框。所以,这就是发生的事情:
In [1]: import json
In [2]: from pandas.io.json import json_normalize
In [3]: with open('test.json') as f:
...: json_data = json.load(f)
...:
In [4]: json_data
Out[4]:
[{'id': 1, 'Z': 'a', 'C': 'z', 'D': 'text'},
{'id': 2, 'Z': 'b', 'C': 'y', 'D': 'text'},
{'id': 3, 'Z': 'c', 'C': 'x', 'D': 'text'}]
In [5]: df = json_normalize(json_data)
In [6]: df
Out[6]:
C D Z id
0 z text a 1
1 y text b 2
2 x text c 3
如您所见,虽然行的顺序仍然正确,但列按字母顺序排序。如何保持我的列顺序(或恢复它)?
谢谢!
【问题讨论】: