• 【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')
  • 相关阅读:
    SQL执行计划之sql_trace
    Pycharm,出现Invalid VCS root mapping The directory 解决方法
    npm安装cnpm时候报错code EINTEGRITY
    Linux 常用命令汇总
    vue 父子组件传值
    vue 钩子函数的使用
    sql 语句中 order by 的用法
    sql查询的常用语句
    vue 甘特图简单制作
    Node.js安装及环境配置
  • 原文地址:https://www.cnblogs.com/luoguoxing/p/14133315.html
Copyright © 2020-2023  润新知