• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

16 - 导入数据 - pd.read_json(jsonstr) - 读json字符串

作者:

贺及楼

成为作者

更新日期:2024-08-06 07:34:33

read_json()

表格总结

例子编号 描述 参数/功能 预期结果描述
1 读取 JSON 文件 read_json JSON 文件数据的前 5 行
2 读取 JSON 字符串 read_json JSON 字符串表示的数据
3 读取 JSON 行 lines=True 每行作为单独记录的前 5 行
4 指定 JSON 编码 encoding='utf-8' 使用特定编码的 JSON 数据
5 读取 JSON 指定列 columns 选择列的 JSON 数据
6 读取嵌套 JSON orient='index' 嵌套 JSON 转换为索引的表格
7 转换 JSON 日期列 convert_dates=True 日期字符串转换为日期时间对象
8 使用默认值读取 JSON default_handler 缺失值替换为 NaN
9 保持原始类型读取 JSON typ='series' 作为 Series 保持原始类型
10 分块读取大型 JSON 文件 chunksize 分块输出大型 JSON 数据
11 复杂的 json 数据 pd.json_normalize() 复杂的 json 数据

1: 读取 JSON 文件

  • 描述:从 JSON 文件中读取数据并转换为 DataFrame。
  • 代码
    1. import pandas as pd
    2. df = pd.read_json('data.json')
    3. print(df.head())
  • 预期结果:输出 JSON 文件中的数据的前 5 行。

2: 读取 JSON 字符串

  • 描述:从 JSON 格式的字符串中读取数据。
  • 代码
    1. json_str = '{"col1": [1, 2], "col2": ["a", "b"]}'
    2. df = pd.read_json(json_str)
    3. print(df.head())
  • 预期结果:输出 JSON 字符串表示的数据的前 5 行(此例中只有 2 行)。

3: 读取 JSON 行

  • 描述:将 JSON 对象的每一行作为 DataFrame 的一行。
  • 代码
    1. df = pd.read_json('data.json', lines=True)
    2. print(df.head())
  • 预期结果:输出 JSON 文件中每一行作为单独记录的前 5 行。

4: 指定 JSON 文件的编码

  • 描述:读取具有特定编码的 JSON 文件。
  • 代码
    1. df = pd.read_json('data.json', encoding='utf-8')
    2. print(df.head())
  • 预期结果:输出使用 UTF-8 编码的 JSON 文件的数据。

5: 读取 JSON 并指定列

  • 描述:从 JSON 数据中选择特定的列。
  • 代码
    1. df = pd.read_json('data.json', columns=['col1', 'col3'])
    2. print(df.head())
  • 预期结果:输出 JSON 文件中指定列的数据。

6: 读取嵌套 JSON

  • 描述:读取嵌套的 JSON 对象并将其转换为表格。
  • 代码
    1. df = pd.read_json('data.json', orient='index')
    2. print(df.head())
  • 预期结果:输出将嵌套 JSON 对象转换为索引的 DataFrame。

7: 从 JSON 读取并转换日期列

  • 描述:将 JSON 中的日期字符串转换为日期时间对象。
  • 代码
    1. df = pd.read_json('data.json', convert_dates=True)
    2. print(df.head())
  • 预期结果:输出 JSON 数据中日期字符串转换为日期时间对象的 DataFrame。

8: 读取 JSON 并使用默认值

  • 描述:在 JSON 数据缺失时使用默认值。
  • 代码
    1. df = pd.read_json('data.json', default_handler=lambda x: float('nan'))
    2. print(df.head())
  • 预期结果:输出 JSON 数据,缺失值被替换为 NaN。

9: 读取 JSON 并保持原始类型

  • 描述:保持 JSON 数据的原始数据类型。
  • 代码
    1. df = pd.read_json('data.json', typ='series')
    2. print(df.head())
  • 预期结果:输出 JSON 数据作为 Pandas Series,保持原始类型。

10: 从 JSON 读取并处理大数据

  • 描述:使用 chunksize 分块读取大型 JSON 文件。
  • 代码
    1. chunksize = 10
    2. for chunk in pd.read_json('data.json', chunksize=chunksize):
    3. print(chunk.head())
  • 预期结果:分块输出大型 JSON 文件的数据。

11:复杂的 json 数据

复杂的 json 数据,可以使用 pd.json_normalize()