20150805-20150807 tradeDate-----python
2015-08-07 14:16
691 查看
1、创建数据库(strategy)、表(trade_date 交易日)
create database strategy default character set utf8 collate utf8_general_ci;
CREATE TABLE `trade_date` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`day` varchar(8) NOT NULL ,
`year` varchar(4) NOT NULL,
`month` varchar(6) NOT NULL,
`desc` varchar(200),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
int:2147483647
long:9223372036854775807
2、接口功能(python实现):
a:计算从起始日期到当天的所有交易日【周六日除外】(数据库无关---起始日期为传入参数)
所用到的url资料:
url:http://blog.chinaunix.net/uid-26425155-id-3022902.html
http://outofmemory.cn/code-snippet/1841/python-time-date-module-usage-summary
/article/3793797.html
/article/4657881.html
http://blog.chinaunix.net/uid-26425155-id-3022902.html
/article/3793797.html
所需要的最有用资料:/article/4760642.html
http://outofmemory.cn/code-snippet/1840/python-usage-datetime-module-timedelta-achieve-date-time-xiangjia
b:trade_date数据库中数据补全功能
如果数据库为空:则插入从指定日期到当天的交易日数据
如果数据不为空,则做增量操作。(包括第二天新增第二天当天的交易日数据,或服务器停止几天后,向数据库中插入这段时间内的交易日数据)
url:
python中的mysql数据库操作:/article/4666294.html
python中的配置文件读取:http://blog.chinaunix.net/uid-24585858-id-4820471.html
python中全局变量:先定义变量A,在某方法中调用:global A 之后对A进行赋值。 别的方法中使用到A时都将是赋值之后的值。
python中的数据库操作事务处理:try...except...finally except时:rollback finally时:cur.close() conn.close()
python中的定时任务:分别为每天的新增操作和该方法执行时的定时操作。
每天定时任务执行:http://bbs.csdn.net/topics/390950625
思路:使用线程实现。run方法中。
执行操作 #系统启动当时执行操作
计算第二天设置的任务执行时间距离当前系统时间秒数。time.sleep(秒数)
执行操作 #系统启动第二天执行任务
while(True):
time,sleep(24*60*60) #等待一天
执行操作。
python中初始化时进行的操作:写入线程的init()方法中,在创建线程时执行操作。
python中MySQLdb中的线程池机制:DBUtils.Pooleddb
/article/5248083.html
报错:'module' object is not callable
原因:模块中的方法没有导入。 在eclipse中需要将DBUtils.PooledDB.PooledDB()方法导入,才可以执行PooledDB()
eclipse中将DBUtils.PooledDB.PooledDB 强制引入
在模块中引入语句:from DBUtils.PooledDB import PooledDB
安装MySQLdb后,命令行验证安装成功,但eclipse报错:unresolved 。解决:http://blog.csdn.net/ao_xue1234/article/details/8191974
需考虑的事情:
该表是否已经存在:可在创建表的语句执行之前通过show tables得到库中所有的表,判断是否已存在,若存在,才会执行创建。
向库中插入数据时,起始交易日需配置文件指定。
连接数据库的参数:需配置文件指定
向数据库插入数据时,mysql表主键的赋值。【因为新建表时设置主键为自动增长。所以,可以写sql语句时,指定insert into test(name1,name2,name3) values(val1,val2,val3) 这样就不需要为主键赋值了。但是如果字段很多时,就不适合。】
如果操作失败时的回滚,事务处理。
验证输入日期是否有效。try:...except:... 在try中对字符串进行向date转换,若抛异常,return False 表示验证不通过。
3、python引入模块操作:
python多个模块引入同一个模块时,并不会每次引入都重新载入这个模块。url:http://blog.chinaunix.net/uid-20684384-id-1895613.html
4、成品:
模块代码:
View Code
代码层级:
create database strategy default character set utf8 collate utf8_general_ci;
CREATE TABLE `trade_date` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`day` varchar(8) NOT NULL ,
`year` varchar(4) NOT NULL,
`month` varchar(6) NOT NULL,
`desc` varchar(200),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
int:2147483647
long:9223372036854775807
2、接口功能(python实现):
a:计算从起始日期到当天的所有交易日【周六日除外】(数据库无关---起始日期为传入参数)
所用到的url资料:
url:http://blog.chinaunix.net/uid-26425155-id-3022902.html
http://outofmemory.cn/code-snippet/1841/python-time-date-module-usage-summary
/article/3793797.html
/article/4657881.html
http://blog.chinaunix.net/uid-26425155-id-3022902.html
/article/3793797.html
所需要的最有用资料:/article/4760642.html
http://outofmemory.cn/code-snippet/1840/python-usage-datetime-module-timedelta-achieve-date-time-xiangjia
b:trade_date数据库中数据补全功能
如果数据库为空:则插入从指定日期到当天的交易日数据
如果数据不为空,则做增量操作。(包括第二天新增第二天当天的交易日数据,或服务器停止几天后,向数据库中插入这段时间内的交易日数据)
url:
python中的mysql数据库操作:/article/4666294.html
python中的配置文件读取:http://blog.chinaunix.net/uid-24585858-id-4820471.html
python中全局变量:先定义变量A,在某方法中调用:global A 之后对A进行赋值。 别的方法中使用到A时都将是赋值之后的值。
python中的数据库操作事务处理:try...except...finally except时:rollback finally时:cur.close() conn.close()
python中的定时任务:分别为每天的新增操作和该方法执行时的定时操作。
每天定时任务执行:http://bbs.csdn.net/topics/390950625
思路:使用线程实现。run方法中。
执行操作 #系统启动当时执行操作
计算第二天设置的任务执行时间距离当前系统时间秒数。time.sleep(秒数)
执行操作 #系统启动第二天执行任务
while(True):
time,sleep(24*60*60) #等待一天
执行操作。
python中初始化时进行的操作:写入线程的init()方法中,在创建线程时执行操作。
python中MySQLdb中的线程池机制:DBUtils.Pooleddb
/article/5248083.html
报错:'module' object is not callable
原因:模块中的方法没有导入。 在eclipse中需要将DBUtils.PooledDB.PooledDB()方法导入,才可以执行PooledDB()
eclipse中将DBUtils.PooledDB.PooledDB 强制引入
在模块中引入语句:from DBUtils.PooledDB import PooledDB
安装MySQLdb后,命令行验证安装成功,但eclipse报错:unresolved 。解决:http://blog.csdn.net/ao_xue1234/article/details/8191974
需考虑的事情:
该表是否已经存在:可在创建表的语句执行之前通过show tables得到库中所有的表,判断是否已存在,若存在,才会执行创建。
向库中插入数据时,起始交易日需配置文件指定。
连接数据库的参数:需配置文件指定
向数据库插入数据时,mysql表主键的赋值。【因为新建表时设置主键为自动增长。所以,可以写sql语句时,指定insert into test(name1,name2,name3) values(val1,val2,val3) 这样就不需要为主键赋值了。但是如果字段很多时,就不适合。】
如果操作失败时的回滚,事务处理。
验证输入日期是否有效。try:...except:... 在try中对字符串进行向date转换,若抛异常,return False 表示验证不通过。
3、python引入模块操作:
python多个模块引入同一个模块时,并不会每次引入都重新载入这个模块。url:http://blog.chinaunix.net/uid-20684384-id-1895613.html
4、成品:
模块代码:
#coding=utf-8 import trade_date.TradeDate as td if __name__ == "__main__": print td.select_between_days("20150701", "20150806")
View Code
代码层级:
相关文章推荐
- python none,null,,,,,类型
- python none,null,,,,,类型
- Python 传参
- Python长字符串的打印
- python - Local variable referenced before assignment
- Python安装
- Mac 下python安装virtualen与配置
- windows下python文件与文件夹操作
- 零基础学python-模块的导入与重载
- 零基础学python-模块的导入与重载
- python菜鸟日记6
- python基础学习笔记<Web开发>
- 通过Python来使用七牛云存储的方法详解
- python发送电子邮件模块smtplib
- debug_toolbar的安装配置
- 利用python内置函数,快速统计单词在文本中出现的次数
- Numpy入门教程
- [python 笔记4]类(面向对象?)
- python类、对象区别
- python命令行参数