1、读取JSON
大数据集通常被存储或提取为JSON。
JSON是纯文本,但是具有对象的格式,并且在包括Pandas在内的编程行业中众所周知。
在示例中,将使用一个名为“data.json”的JSON文件。
data.json文件:https://www.cjavapy.com/download/5fe1f8c9dc72d93b4993067d/
例如:
将JSON文件加载到DataFrame中:
import pandas as pd df = pd.read_json('data.json') print(df.to_string())
提示:使用to_string()
打印整个DataFrame。
2、 JSON格式的Dictionary
JSON对象与Python字典具有相同的格式。
如果JSON代码不在文件中,而是在Python字典中,则可以将其直接加载到DataFrame中:
例如:
将Python字典加载到DataFrame中:
import pandas as pd data = { "Duration": { "0": 60,"1": 60, "2": 60,"3": 45,"4": 45, "5": 60 },"Pulse": { "0": 110, "1": 117,"2": 103, "3": 109, "4": 117, "5": 102 }, "Maxpulse": { "0": 130, "1": 145,"2": 135, "3": 175,"4": 148, "5": 127 },"Calories": { "0": 409, "1": 479,"2": 340, "3": 282, "4": 406, "5": 300 } } # 将嵌套字典转换为 DataFrame df = pd.DataFrame(data) # 打印 DataFrame print(df)
3、read_json 常用操作
read_json()
函数用于读取 JSON 格式的数据并转换为 DataFrame,常用操作包括设置 orient
参数来指定 JSON 数据的结构(如 records、split、index 等),使用 lines=True
读取 JSON 每行一条记录的日志文件格式,以及通过 dtype
、convert_dates
等参数控制数据类型和时间格式解析。
1)读取每行一个 JSON(如日志文件)
import pandas as pd # 读取每行一个 JSON 对象的文件 df = pd.read_json('data_lines.json', lines=True) print(df)
2) 指定 orient 格式
import pandas as pd # 读取 JSON 文件,records 表示每条记录为一个字典 df = pd.read_json('data.json', orient='records') print(df)
适用于典型的数组格式 JSON 文件,每条记录是一个对象,常用于接口数据或日志分析。
orient 参数说明(适用于 JSON 是字典结构时)
orient | 描述 |
---|---|
records | 列表嵌套字典,每条记录一行 |
split | 包含 keys: index, columns, data |
index | 字典嵌套字典,外层键为行索引 |
columns | 字典嵌套字典,外层键为列名 |