我们再做量化分析的时候,会碰到一个问题,运行一个程序,希望它可以每天都保存好自己需要的资料,又不希望每次都需要输入文件保存的名字和地址,有什么好的办法呢?
符合几个条件:便于寻找,而且每天都是变化,使用时间和日期是相当不错的决定。比如你的存取的文件,名字都是"2017-06-05.xlsx"或者
是"2017-05-20.csv"是不是变的相当的容易寻找了呢!当然这仅仅是我这个小白解决这个问题的方式,不过这样对于刚入门的小白已经够了,当然
你总有一天会觉得这样做太傻了,你就会开始学习数据库了。
1、python可以使用open函数来创建文件。使用Tushare时你根本不需要来创建文件,因为保存的时候,如果文件不存在,就会直接的新建,是不是比起用open来方便一些。
2、python可以使用datetime模块来获取日期。养成一个习惯,检查你获得数据的类型,是字符串还是浮点数,或是其它。
第一种方法(极其的简单,only two lines)关于其在Tushare的使用:
import datetime
print(datetime.date.today())
第二种方法,使用strftime函数生成格式化的日期,这种也不复杂,但是可以关于时间不仅仅是日期,可以到分钟了,如果没有必要,用第一种好了:
from datetime import datetime
open(datetime.now().date().strftime('%Y%m%d')+'.txt', 'w').close()
这样可以创建一个名为20160607.txt的文件,根据当天日期不同而不同。
函数说明:
strftime(...)
按指定样式格式化时间转换成字符串。
isoformat(...)
将时间转换成字符串ISO 8601格式,YYYY-MM-DD
格式化字符说明:
%Y 年份以世纪为十进制数。
%m 月份的十进制数[01,12]。
%d 当月日为十进制数[01,31]。
%H 小时(24小时制)作为十进制数[00,23]。
%M 分钟的十进制数[00,59]。
%S 其次为十进制数[00,61]。
%z 时区与UTC的偏移。
%a 本机格式的缩写工作日名称。
%A 本机格式的完整周日名称。
%b 本机格式的缩写月份名称。
%B 本机格式的完整月份名称。
%c 本机格式的适当的日期和时间表示。
%I 小时(12小时制)作为十进制数[01,12]。
%p 对语言环境的等同无论是上午或下午。
建议使用第一个函数,第二个函数当然可以更加的具体,但是实际上,我们第一个应该会用的很多。