Python实现大数据收集至excel的思路详解
一、在工程目录中新建一个excel文件
二、使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询
三、以下code内容为:实现从接口获取到的数据值写入excel的整体步骤
1、整体思路:
(1)、根据每日调取接口的日期来作为excel文件中:列名为“收集日期”的值
(2)、程序默认是每天会定时调取接口并获取接口的返回值并写入excel中(我使用的定时任务是:linux下的contab)
(3)、针对接口异常未正确返回数据时,使用特殊符号如:NA代替并写入excel文件中(后期使用excel数据做分析时有用)
2、完整代码如下:
importrequests,xlrd,os,sys,urllib3
fromdatetimeimportdate,timedelta
fromxlutils.copyimportcopy
basedir=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(basedir)
fromlib.mysqldbimportmysqldb
fromlib.public_methodsimporttest_login
defcollect_data():
"""test_rooms.test_kpi卡片下:adr指标值收集"""
get_all_code_sql='selectDISTINCTtest_codefromtest_infoWHEREopen_flag=1'
test_code_all=mysqldb("test_data").selectsql(get_all_code_sql)
test_code_list=[]
adr_insert_data_list=[]
yesterday=(date.today()+timedelta(days=-1)).strftime("%Y-%m-%d")
adr_insert_data_list.append(yesterday)
forjinrange(len(test_code_all)):
test_code_list.append(test_code_all[j]["test_code"])
forminrange(len(test_code_list)):
url="https://www.baidu.com/test/api/data/query.json"
header={
"Content-Type":"application/json;charset=UTF-8",
"Cookie":str(test_login())
}
param={
"code":"test_rooms.test_kpi",
"page":1,
"pageSize":1000,
"params":{
"start_date_year":"2019",
"start_date_month":"9",
"start_date_day":"16",
"end_date_year":"2019",
"currency_type":"usd",
"end_date_day":"16",
"end_date_month":"9",
"tests":"test_001"
}
}
"""替换请求参数中的开始日期"""
param["params"]["start_date_year"]=str(yesterday).split("-")[0]
param["params"]["start_date_month"]=str(yesterday).split("-")[1]
param["params"]["start_date_day"]=str(yesterday).split("-")[2]
"""替换请求参数中的结束日期"""
param["params"]["end_date_year"]=param["params"]["start_date_year"]
param["params"]["end_date_month"]=param["params"]["start_date_month"]
param["params"]["end_date_day"]=param["params"]["start_date_day"]
param["params"]["tests"]=test_code_list[m]
urllib3.disable_warnings()
result=requests.post(url=url,headers=header,json=param,verify=False).json()
ifstr(result["data"]["data"])!="None":
"""adr指标值收集"""
indicatorList=result["data"]["data"]["test_indicator_list"]
test_actualorLast_Forecast=result["data"]["data"]["test_actual"]
new_indicator_actualvalue={}
i=0
whilei
3、从步骤2中的代码可看出代码整体分为3个部分:
(1)、组装接口参数;
(2)、调用接口将接口返回的结果集收集在list中;
(3)、将收集的结果写入excel中并保存;
tips:windows与linux下excel的路径格式需要区分下,以上代码中的"/data/collect_data_center.xls"为linux环境下路径
总结
以上所述是小编给大家介绍的Python实现大数据收集至excel的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。