由于工作需要经常需要导出数据,直接使用接口返回的数据,这样就不用自己写sql去数据库查
如下我需要获取接口返回的name、wechatJsonUserid、departmentName字段值
代码如下
import requests
import pandas as pd
from common.writer_excel import writer_excel
# 将接口放置url中,示例中域名已注释
url1 = "https://tr.*****.cn/wx-manage/api/wechatLabel/findWechatUserAndDepartmentByLebelId?id=1¤t=1&pageSize=10&name=&mobilePhone=&departmentName="
# headers中存放token或者cookie值
headers = {"Token": "6A9AFEDC054B3C83C783CD3DE29AC878"}
# 新建数组,后期存放数据
arr1=[ ]
arr2=[ ]
arr3=[ ]
#访问接口,添加URL1,headers,将结果存放至res中
#确认接口请求方式如果是get 则:res = requests.get(url1, headers=headers)
res = requests.post(url1, headers=headers)
#将res转换至json格式
js_res = res.json()
#输出接口返回的JSON数据
print(js_res)
# 遍历JSON中内容,需要哪些字段遍历出来
for item in js_res['data']['list']:
arr1.append(item["name"])
arr2.append(item["wechatJsonUserid"])
arr3.append(item["departmentName"])
# arr4.append(item["clazzName"])
#如果字段不存在,返回0
# if "phone" in item :
# arr5.append(item["phone"])
# else :
# arr5.append(0)
# arr6.append(item["relationType"])
#添加表头
total = {"姓名": arr1, "手机号": arr2, "单位": arr3}
#输出内容
print(total)
#写入表格
info = pd.DataFrame(total)
#文件路径
file = r'C:\Users\Administrator\Desktop'
#文件名
file_name='\新建文件.xlsx'
#输出Excel文件至本地
excel = writer_excel(info, file, file_name, sheet_name="sheef1")