tushare日K线数据保存本地

1、pandas.to_sql

比较耗时,大批量导入得话,容易中断,且DataFrame中不能有汉字,因为to_sql并不能对DataFrame进行utf-8编码。

2、pymysql

  • 先把数据保存为txt,保存到'd:/data/'
code= '000001'
adr= 'd:/data/'

df = ts.get_h_data(code=code, start=start_date, end=end_date,  autype='qfq', retry_count=100,      
              pause=1)
#插入'code'列
df.insert(1,'code', code)
#保存为txt
df.to_csv((adr+code+'.txt',encoding='utf-8')
  • python 调用mysql load infile 批量导入 ,虽然没报错,但是并没有成功导入。
    可能由于https://stackoverflow.com/questions/1932298/ 此原因,需要parsing

3、mysql

  • 用2的方法保存txt
  • 用python生成sql语句
import os
adr = 'd:/data/'

load_sql='''
load data local infile 'd:/data/%s'
replace into table stock.qfq_k_day_tushare
fields terminated by ',' enclosed by '\\n'
ignore 1 lines
'''

writeFile = open('d:/load_sql.txt','w')
for name in os.listdir(adr)[3:]:
    if name[-3:]=='txt':
        writeFile.write(load_sql % (name,name[:6]))
writeFile.close()
  • mysql终端执行
source d:/load_data.sql

4、mongodb

你可能感兴趣的:(tushare日K线数据保存本地)