2019-03-15 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用xlwt写到Excel中
import requests
import xlwt url = '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 result
def 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 result
def 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()
2019-03-15 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用xlwt写到Excel中的更多相关文章
- 2019-03-18 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用pymssql写到SQL Server中
import requests import pymssql url = 'https://v1.cn-abs.com/ajax/ChartMarketHandler.ashx' headers = ...
- Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象
场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个jso ...
- HttpClient获取返回类型为JSON或XML的数据
Java_HttpClient获取返回类型为JSON或XML的数据 原创 2017年04月06日 17:38:29 706 HttpClient 获取返回类型为JSON或XML的数据 使用httpco ...
- struts2使用jsp和<s:property>标签获取json格式的返回数据
struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...
- 2019.03.15 ZJOI2019模拟赛 解题报告
得分: \(20+45+15=80\)(三题暴力全写挂...) \(T1\):Lyk Love painting 首先,不难想到二分答案然后\(DP\)验证. 设当前需验证的答案为\(x\),则一个暴 ...
- 2019.03.15王苛震——myls
/* 1.尝试实现ls命令的功能 加选项-l -a -i -h */ #include <stdio.h> #include <sys/types.h> #include &l ...
- 如何获取前端提交来得json格式数据
composer.json { "require": { "guzzlehttp/guzzle": "~6.0" } } composer ...
- flask中request对象获取参数的方法
从当前request获取内容: method: 起始行,元数据 host: 起始行,元数据 path: 起始行,元数据 environ: 其中的 SERVER_PROTOCOL 是起始行,元数据 he ...
- html中通过js获取接口JSON格式数据解析以及跨域问题
前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...
随机推荐
- 经典alsa 录音和播放程序
这里贴上虚拟机ubuntu下alsa的录音程序(capture.c)和播放程序(playback.c)的源码. 首先要测试一下自己的ubuntu是否打开了声音.这个可以打开/系统/首选项/声音 来调 ...
- Django入门--模板标签、继承与引用
一.模板标签 Django模板引擎提供的可以在模板中进行的各种逻辑操作,是函数调用的一种特殊形式,如循环.判断等功能,期语法规则为: {% tag %} content {% tag 参数1 参数2 ...
- python中的各个包的安装,用pip安装whl文件
在安装之前,一直比较迷惑究竟如何用,安装完后,发现竟然如此简单 首先我一般用的是python27,官网下载python27msi安装window7 64位后,已经自带了Pip 和 easy_insta ...
- 对Java线程安全与不安全的理解
当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说到StringBuilder中,有这么一句,"将StringBuilder 的实例用于多个线程是不安全的 ...
- spring的几个重要类和接口
1.datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的 datasource接口有个重要的方法getConnection()方法 Connection ...
- RGB 与 (RGB转 YCbCr再转为 RGB)的图像
RGB 与 (RGB转 YCbCr再转为 RGB)的图像 不可逆,能够从 矩阵的逆运算看出来. 附上 matlab 代码: clc,clear; Source=imr ...
- hdu4870 Rating (高斯消元或者dp)
Rating Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 【DataStructure】The difference among methods addAll(),retainAll() and removeAll()
In the Java collection framework, there are three similar methods, addAll(),retainAll() and removeAl ...
- [jzoj 5661] 药香沁鼻 解题报告 (DP+dfs序)
interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一 ...
- python中is与==的差别
# is:比较的是两个对象的id值是否相等,# 也就是比较俩对象是否为同一个实例对象,# 是否指向同一个内存地址 # s = "alex"# abc = id(s) # 得到内存地 ...