米矿的rqalpha数据库文件用的是bcolz二进制数据库文件。这种库文件的中文教程基本没有,苦了我这种彩笔。经过摸索找到了方法。将bcolz导入到pandas的dataframe中,然后利用datafame就可以转化成为csv格式了。顺便说一下,本来想看看rqalpha的数据库bundle里面的数据长啥样,打开看了,期货居然没有品种名称,而且数据少得可怜。辛苦我搞了那么久。。。。给出bcolz的官网。
1、当然是装好rqalpha先。我使用的是spyder,注意当前工作目录,红色的圈就是,这个一定要选好,不然rootdir不对就不行。
导入相应的库
from __future__ import print_function
import numpy as np
import bcolz
2、bcolz的文件目录结构的说一下,下面是bundle的文件库,里面我打算导出futures.bcolz到csv中
代码如下:
这个代码的工作目录是bundle的上一级目录,注意那个/符号,不是坑爹win的\符号,不然报错。
data = bcolz.open(rootdir="bundle/futures.bcolz", mode="a" )
save = data.todataframe()
save.to_csv('future.csv')
就这么简单,几部搞定。最后,这个二进制的压缩库牛逼,几百兆的csv直接压成了几十兆。