zoukankan      html  css  js  c++  java
  • 【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')
  • 相关阅读:
    归档拷贝LogMiner 和 archived redo log,分析归档日志
    宋体测试液晶屏测试小程序
    宋体方法Unity3d通过苹果和google两种方法加入广告
    代码确认小米官方在线预定——对代码实现的分析
    分区启动Grub2配置详解
    临时表判断sqlite 判断表 或 临时表 是否存在
    解释升级JDeveloper&ADF的版本
    引用字符shell中的引用java教程
    枚举生成MVC3: Bind Enum To DropDownList ?java教程
    能力学习为什么你应聘不上或试用期被开?
  • 原文地址:https://www.cnblogs.com/luoguoxing/p/14133315.html
Copyright © 2011-2022 走看看