博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019-03-15 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用xlwt写到Excel中...
阅读量:4597 次
发布时间:2019-06-09

本文共 2262 字,大约阅读时间需要 7 分钟。

import requestsimport xlwturl = 'https://v1.cn-abs.com/ajax/ChartMarketHandler.ashx'headers={    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}# 每个交易场所每一年的发行金额def get_marketInventory():    FromData={        'type':'marketInventory'    }    rep=requests.post(url,data=FromData).json()    for i in rep:        # print(i['SeriesName'],i['Points'])        for j in i['Points']:            result={                '交易场所':i['SeriesName'],                '发行年份':j['X'],                '发行金额':j['Y']            }            yield resultdef parse_marketInventory():    wb = xlwt.Workbook()    sheet = wb.add_sheet('marketInventory')    sheet.write(0, 0, label='交易场所')    sheet.write(0, 1, label='发行年份')    sheet.write(0, 2, label='发行金额')    # sheet.write()    result = get_marketInventory()    # print(result)    i = 1    for res in result:        # print(res)        sheet.write(i, 0, label=res['交易场所'])        sheet.write(i, 1, label=res['发行年份'])        sheet.write(i, 2, label=res['发行金额'])        wb.save('marketInventory.xls')        i = i + 1    # print('共有' + str(i) + '行数据')# 各个资产类型每一年的发行金额def get_marketTotal():    FromData = {        'type': 'marketTotal'    }    rep = requests.post(url, data=FromData).json()    for i in rep:        # print(i['SeriesName'],i['Points'])        result = {            '资产类型': i['SeriesName'],            '发行金额':""+str(i['Points'][0]['Y'][0]).replace("[","'").replace("]","'"),            '存量金额':""+str(i['Points'][1]['Y'][0]).replace("[","'").replace("]","'")        }        yield resultdef parse_marketTotal():    wb = xlwt.Workbook()    sheet = wb.add_sheet('marketTotal')    sheet.write(0, 0, label='资产类型')    sheet.write(0, 1, label='发行金额')    sheet.write(0, 2, label='存量金额')    # sheet.write()    result = get_marketTotal()    i = 1    for res in result:        # print(res)        sheet.write(i, 0, label=res['资产类型'])        sheet.write(i, 1, label=float(res['发行金额']))        sheet.write(i, 2, label=float(res['存量金额']))        wb.save('marketTotal.xls')        i = i + 1    # print('共有' + str(i) + '行数据')if __name__ == '__main__':    parse_marketInventory()    parse_marketTotal()

 

转载于:https://www.cnblogs.com/theDataDigger/p/10536822.html

你可能感兴趣的文章
排查Java高CPU占用原因
查看>>
[iOS]数据库第三方框架FMDB详细讲解
查看>>
让IE6/IE7/IE8浏览器支持CSS3属性
查看>>
Windows 某些软件显示"口口"解决办法
查看>>
PHP+Hadoop+Hive+Thrift+Mysql实现数据统计分析
查看>>
和同事下班路上讨论心得(服务器部署的几点问题)
查看>>
Spring学习总结五——SpringIOC容器五
查看>>
解决多个ajax页面请求,页面loading阻塞问题
查看>>
Executor
查看>>
Javascript 表单验证对象控件 + ajax简单验证重复项与ajax提交数据
查看>>
使用抽象工厂设计一个简单的交易模块
查看>>
如何将广告始终定位到网页右下角
查看>>
常用js整理
查看>>
查看oracle/mysql数据库版本号
查看>>
memset函数
查看>>
使用postman+newman+python做接口自动化测试
查看>>
实体框架继承关系。很好
查看>>
201671010110 2016 2017 2《java程序设计》
查看>>
flask的基础认识
查看>>
静态blog的免费托管部署、加域名与搜索优化(SEO)
查看>>