博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python - 抓取汇率数据分析美元和欧元对RMB的变化曲线
阅读量:1985 次
发布时间:2019-04-27

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

数据:

实例:

import requestspayload = {    'projectBean.startDate' : '2017-06-18',    'projectBean.endDate' : '2017-09-18',    'queryYN' : 'true'}response = requests.post('http://www.safe.gov.cn/AppStructured/view/project_RMBQuery.action',                        data=payload)html = response.text

import sqlite3 as dbwith db.connect('currency.sqlite') as con:    df_rates.to_sql('currency_data', con=con, if_exists='replace', index=None)
from datetime import datetime, timedeltacurrent_time = datetime.now()for i in range(0, 300, 31):    # 为了避免重复,range T - days T = 1    start_date = (current_time - timedelta(days = i + 30)).strftime('%Y-%m-%d')    end_date = (current_time - timedelta(days = i)).strftime('%Y-%m-%d')

def get_currency(start, end):    payload = {    'projectBean.startDate' : start,    'projectBean.endDate' : end,    'queryYN' : 'true'    }    response = requests.post('http://www.safe.gov.cn/AppStructured/view/project_RMBQuery.action',                            data=payload)    html = response.text    doc = pq(html)    info = '
{info}
'.format(info=doc('#InfoTable').html()) dfs = pd.read_html(info, header=0) df_rates = pd.melt(dfs[0], col_level=0, id_vars='日期') df_rates.columns = ['date', 'currency', 'exchange'] with db.connect('currency.sqlite') as con: df_rates.to_sql('currency_data', con=con, if_exists='append', index=None) current_time = datetime.now()for i in range(0, 300, 31): # 为了避免重复,range T - days T = 1 start_date = (current_time - timedelta(days = i + 30)).strftime('%Y-%m-%d') end_date = (current_time - timedelta(days = i)).strftime('%Y-%m-%d') print(i, start_date, end_date) get_currency(start_date, end_date)
with db.connect('currency.sqlite') as con:    df = pd.read_sql('select * from currency_data where currency = "美元"', con=con)

% pylab  inlinedf.plot(kind='line', rot=30)

with db.connect('currency.sqlite') as con:    df = pd.read_sql('select * from currency_data where currency in ("美元", "英镑")', con=con)        df['date'] = pd.to_datetime(df['date'] ,format='%Y-%m-%d')df.info()

你可能感兴趣的文章
ubuntu 升级cmake 版本
查看>>
cudnn cuda-11.0
查看>>
2021-05-15 apt update 更新问题
查看>>
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
查看>>
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
查看>>
Exception in thread “main“ java.sql.SQLException错误之一: Column Index out of range, 0 < 1.
查看>>
C3p0连接池连接mysql出现: com.mchange.v2.resourcepool.BasicResourcePool
查看>>
Azkaban体系结构
查看>>
机器学习之重头戏-特征预处理
查看>>
synchronized底层实现及锁的升级、降级
查看>>
PermGen space-永久区内存溢出
查看>>
Maven继承和聚合
查看>>
nexus发布工程版本问题总结
查看>>
windows无法找到发送到桌面快捷方式
查看>>
redhat-vim文本编辑
查看>>
linux-文件挂载
查看>>
scala与java之间的集合类型转换
查看>>
hadoop 报错:Unable to find SASL server implementation for
查看>>
Vue 3中令人激动的新功能:Fragment+Suspense+多v-model
查看>>
浅析Vuex及相关面试题答案
查看>>