【python】脚本输出接口json数据为表格

import requests
import json
import jsonpath
import xlwt,os
import time
#提取当前时间dd/mm/yyyy格式,用来做文件夹的名字
new_time=time.strftime("%Y-%m-%d")
#创建存放表格的文件夹
try:
path=os.makedirs('D:wenjian{}'.format(new_time))
except:
print(new_time)
#导出接口数据
get_param_dict={"questionnaire_uuid":"0d5c4504-5b6-41bd71f49ddf",
"token":"jEZyM-54Jug_r_Rily48Ebn"}
headers={'content-type':'application/json'}
response=requests.post(url='https://qa-admin-api-list',
data=json.dumps(get_param_dict),
headers=headers)
# print(jsonpath.jsonpath(response.json(),'$.data.list[0].user_name')[0])#学生名
response_01=response.json()
# 遍历接口数据数量(共七个大数据,一个大数据做成一张表)
len_j=jsonpath.jsonpath(response_01, '$.data.total')[0]
for j in range(0,len_j):
# 为了表格名称
child_name = jsonpath.jsonpath(response_01, '$.data.list[{}].answer_result[2].question_item_data[0].content'.format(j))[0]
parent_name = jsonpath.jsonpath(response_01, '$.data.list[{}].answer_result[0].question_item_data[0].content'.format(j))[0]
parent_phone = jsonpath.jsonpath(response_01, '$.data.list[{}].answer_result[1].question_item_data[0].content'.format(j))[0]
#format格式化
# print(j)
# 创建workbook.save('stu_info.xlsx') 可写的workbook对象
workbook=xlwt.Workbook(encoding='utf-8')
# 创建工作表sheet
worksheet = workbook.add_sheet('sheet1')
for i in range(0,38):
# 遍历一个大数据里面的38个小数据,小数据为表中题目名称和答案
try:
# try异常处理1
name=jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].title'.format(j,i))[0] #题目名称
result=jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].question_item_data[0].content'.format(j,i))[0] #题目答案
except:
#except异常处理2,两个配合使用
continue
# continue结束本次循环
#下面字段为图片处理,以地址的方式显示图片
if name == '请上传监护人的身份证照片':
result = jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].question_item_data[0].img_url'.format(j, i))[0]
result_01 = jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].question_item_data[1].img_url'.format(j, i))[0]
worksheet.write(i, 2, result_01)
elif name == '以上本人所填的信息均确认真实有效,同事所有条款已确认无疑问,并同意遵守,请在下方签名区进行签名':
result = jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].question_item_data[0].img_url'.format(j, i))[0]
elif name == '请上传学生正脸照片(用于接机和制作胸牌)':
result = jsonpath.jsonpath(response_01,'$.data.list[{}].answer_result[{}].question_item_data[0].img_url'.format(j, i))[0]
worksheet.write(i, 0, name)
worksheet.write(i, 1, result)
# 保存表格
workbook.save('D:wenjian{}{}_{}_{}_{}.xlsx'.format(new_time,j+1,child_name,parent_name,parent_phone))
# #创建可写的workbook对象
# workbook = xlwt.Workbook(encoding='utf-8')
# #创建工作表sheet
# worksheet = workbook.add_sheet('sheet1')
# #往表中写内容,第一个参数 行,第二个参数列,第三个参数内容
# worksheet.write(0, 0, 'name')
# #在单元格中添加超链接
# worksheet.write(0, 1, xlwt.Formula('HYPERLINK("http://www.huxmxit.com";"newdream")'))
# #保存表为stu_info.xlsx
# workbook.save('stu_info.xlsx')
原文地址:https://www.cnblogs.com/luoguoxing/p/14133315.html