python - 在 pandas read_json 中解析 json 值
问题描述
我正在读取一个 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 列,每列代表一行中的每个项目。我怎样才能做到这一点?
解决方案
您可以将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
]]}""")
推荐阅读
- python - 在 anaconda cmd 上导入 bcrypt 失败并抛出错误“无法导入 _bcrpyt”但适用于 windows cmd?
- javascript - 使用 Next 路线捕获所有信息
- c++ - 如何使用 JVM/JNI 从 C++ 代码调用 jboss-modules.jar
- javascript - 错误 - 无法读取 null 的属性“值”
- python - 使用 python 代码计算 R 中 lm() 函数的输出“se.fit”和“resdiual.scale”
- arrays - 加权字母生成器
- python - 如何使用 pop 函数删除二维数组中的所有元素
- graphql - Shopify graphql 客户创建
- python - 无法使用 Python Pyautogui 以管理员身份打开 CMD
- javascript - React FilePond 预览 [ 文件海报 ] 不工作