You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将给定JSON格式数据转换为pandas DataFrame?

问题分析

你原来的代码存在三个核心问题:

  • 你定义的json变量仅存储了第一个字典对象,剩余7个字典没有被纳入待转换的数据集
  • pd.concat([df])是无意义操作,将单个DataFrame自身拼接不会改变数据结构
  • 最后打印的data_unit变量未定义,无法输出预期结果
正确实现代码

首先将所有字典存入列表,再直接传入pd.DataFrame即可:

import pandas as pd

# 把所有JSON对象整理成列表
data_list = [
    {'name': 'system_information', 'url': 'https://gbfs.divvybikes.com/gbfs/en/system_information.json'},
    {'name': 'station_information', 'url': 'https://gbfs.divvybikes.com/gbfs/en/station_information.json'},
    {'name': 'station_status', 'url': 'https://gbfs.divvybikes.com/gbfs/en/station_status.json'},
    {'name': 'free_bike_status', 'url': 'https://gbfs.divvybikes.com/gbfs/en/free_bike_status.json'},
    {'name': 'system_hours', 'url': 'https://gbfs.divvybikes.com/gbfs/en/system_hours.json'},
    {'name': 'system_calendar', 'url': 'https://gbfs.divvybikes.com/gbfs/en/system_calendar.json'},
    {'name': 'system_regions', 'url': 'https://gbfs.divvybikes.com/gbfs/en/system_regions.json'},
    {'name': 'system_alerts', 'url': 'https://gbfs.divvybikes.com/gbfs/en/system_alerts.json'}
]

# 直接转换为DataFrame
df = pd.DataFrame(data_list)
print(df)

如果你的原始数据是保存在逐行存储单条JSON对象的JSON Lines格式文件中,无需手动整理列表,可以直接用pandas自带的接口读取:

df = pd.read_json("你的文件路径.json", lines=True)
输出效果

最终生成的DataFrame会包含name和url两列,共8行数据,和你的原始数据一一对应。这个场景下转换出来的索引本身就是从0开始的连续值,不需要额外调用reset_index处理。

内容的提问来源于stack exchange,提问作者PeterLiu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 19:27:03