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 whilei3、从步骤2中的代码可看出代码整体分为3个部分:
(1)、组装接口参数;
(2)、调用接口将接口返回的结果集收集在list中;
(3)、将收集的结果写入excel中并保存;
tips:windows与linux下excel的路径格式需要区分下,以上代码中的"/data/collect_data_center.xls"为linux环境下路径
总结
以上所述是小编给大家介绍的Python实现大数据收集至excel的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。