python - Json 到 Excel python 脚本
问题描述
我有一个 API,每次调用时都会返回 JSON 响应,响应示例:-
{
"data": [
{"id":1,"name":"A","class":"AA" },
{"id":2,"name":"B","class":"BB" },
{"id":3,"name":"C","class":"CC" },
]
}
在这种情况下,我想从收到的带有选定字段的响应中创建一个 Excel 文件id and name
。谁能告诉我我该怎么做?谢谢。
解决方案
您想将 JSON 数据转换为 python 中的 dict,然后将数据转换为 csv 格式(可以通过 excel 读取)。
import json
import csv
api = "{"data": [
{"id":1,"name":"A","class":"AA" },
{"id":2,"name":"B","class":"BB" },
{"id":3,"name":"C","class":"CC" },
]
}"
data = json.load(api)
f = open('data.csv')
csv_file = csv.writer(f)
for item in data['data']:
f.writerow(item['id'] + ', ' . item['name'])
f.close()
要回答您的问题,您可以尝试 pandas。
import json
import pandas as pd
api = "{"data": [
{"id":1,"name":"A","class":"AA" },
{"id":2,"name":"B","class":"BB" },
{"id":3,"name":"C","class":"CC" },
]
}"
data = json.load(api)
excel_data = pd.DataFrame.from_dict(data['data'])
# Then convert to excel xls or csv files
excel_data.to_csv('file.csv')
excel_data.to_excel('file.xls')
推荐阅读
- javascript - Javascript - 如何避免重复使用键盘键
- docker - 如何在 Windows-Server-2019-Base-with-Containers 的 EC2 实例上启用 docker 实验模式?
- micronaut - micronaut 是否有能力连接到像 rabbitmq 一样支持“amqp/mqtt”协议的 artemis?
- java - 如何在 tomcat 容器中的 Spring Boot 多部分控制器操作中捕获 FileSizeLimitExceededException?
- c# - 如何按 ID 创建行组并在 datagridview 中分隔组?
- android - 如何制作不弹出的Android本地通知,只显示在通知列表中?
- android - 导航架构片段重载问题
- android - 使用 Rxjava2 的改造 2 发送 GET 请求,获取空对象
- r - 如何检测另一个字符串向量中的多个字符串
- php - curl_getinfo() 显示执行前后的空参数