首页 > 解决方案 > 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。谁能告诉我我该怎么做?谢谢。

标签: pythonjsonexcel

解决方案


您想将 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')

推荐阅读