将Pandas数据转换为JSON格式

1. 基本转换方法

把DataFrame转换为JSON同样简单,使用to_json()方法即可:

# 创建一个示例DataFrame
data = {
‘姓名’: [‘张三’, ‘李四’, ‘王五’],
‘年龄’: [25, 30, 35],
‘城市’: [‘北京’, ‘上海’, ‘广州’]
}
df = pd.DataFrame(data)

# 转换为JSON字符串
json_str = df.to_json()
print(json_str)

# 转换为JSON文件
df.to_json(‘output.json’, orient=’records’, force_ascii=False)

将Pandas数据转换为JSON格式插图

2. 不同格式的JSON输出

Pandas提供了多种JSON输出格式,通过orient参数控制:

# 按记录输出(最常用的格式)
print(df.to_json(orient=’records’))

# 按索引输出
print(df.to_json(orient=’index’))

# 按列输出
print(df.to_json(orient=’columns’))

# 按值输出
print(df.to_json(orient=’values’))

3. 处理中文编码问题

默认情况下,中文会被转换为Unicode编码。如果想保留原始中文,可以设置force_ascii=False

import pandas as pd
import requests

# 1. 从API获取天气数据
url = “http://api.openweathermap.org/data/2.5/forecast”
params = {
‘q’: ‘Beijing,CN’,
‘appid’: ‘你的API密钥’,
‘units’: ‘metric’
}
response = requests.get(url, params=params)
data = response.json()

# 2. 处理嵌套的JSON数据
weather_data = []
for item in data[‘list’]:
row = {
‘datetime’: item[‘dt_txt’],
‘temp’: item[‘main’][‘temp’],
‘humidity’: item[‘main’][‘humidity’],
‘weather’: item[‘weather’][0][‘description’],
‘wind_speed’: item[‘wind’][‘speed’]
}
weather_data.append(row)

# 3. 创建DataFrame并分析
df = pd.DataFrame(weather_data)
df[‘datetime’] = pd.to_datetime(df[‘datetime’])

# 计算平均温度
avg_temp = df[‘temp’].mean()
print(f”平均温度: {avg_temp:.1f}°C”)

# 按天气状况分组统计
weather_stats = df.groupby(‘weather’).size()
print(weather_stats)

欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!

66源码网 » 将Pandas数据转换为JSON格式

提供最优质的资源集合

立即查看 了解详情