JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析。Pandas 提供了强大的方法来处理 JSON 格式的数据,支持从 JSON 文件或字符串中读取数据并将其转换为 DataFrame,以及将 DataFrame 转换回 JSON 格式。
操作 | 方法 | 说明 |
---|---|---|
从 JSON 文件/字符串读取数据 | pd.read_json() |
从 JSON 数据中读取并加载为 DataFrame |
将 DataFrame 转换为 JSON | DataFrame.to_json() |
将 DataFrame 转换为 JSON 格式的数据,可以指定结构化方式 |
支持 JSON 结构化方式 | orient 参数 |
支持多种结构化方式,如 split 、records 、columns |
Pandas 可以很方便的处理 JSON 数据,本文以 sites.json 为例,内容如下:
[
{
"id": "A001",
"name": "bing",
"url": "www.bing.com",
"likes": 61
},
{
"id": "A002",
"name": "Google",
"url": "www.google.com",
"likes": 124
},
{
"id": "A003",
"name": "淘宝",
"url": "www.taobao.com",
"likes": 45
}
]
1 从 JSON 文件/字符串加载数据
1.1 pd.read_json() - 读取 JSON 数据
read_json() 用于从 JSON 格式的数据中读取并加载为一个 DataFrame。它支持从 JSON 文件、JSON 字符串或 JSON 网址中加载数据。
df = pd.read_json(
path_or_buffer, # JSON 文件路径、JSON 字符串或 URL
orient=None, # JSON 数据的结构方式,默认是 'columns'
dtype=None, # 强制指定列的数据类型
convert_axes=True, # 是否转换行列索引
convert_dates=True, # 是否将日期解析为日期类型
keep_default_na=True # 是否保留默认的缺失值标记
)
参数 | 说明 | 默认值 |
---|---|---|
path_or_buffer |
JSON 文件的路径、JSON 字符串或 URL | 必需参数 |
orient |
定义 JSON 数据的格式方式。常见值有 split 、records 、index 、columns 、values 。 |
None (根据文件自动推断) |
dtype |
强制指定列的数据类型 | None |
convert_axes |
是否将轴转换为合适的数据类型 | True |
convert_dates |