#coding ='gbk'
import time
import datetime
import MySQLdb
import tushare as ts
from sqlalchemy import create_engine
pro = ts.pro_api('3f3b7e415ab8d5e2d139662b8f70dc1113defb8038b3f4daedfd7152')
engine = create_engine('mysql://root:123456@127.0.0.1/test3?charset=utf8')
begin_day = ''
end_day = ''
default_num = 3
if begin_day == end_day and begin_day == '':
n = 0
c = 0
while n < default_num:
str = time.strftime("%Y%m%d", time.localtime(time.time() - 24*60*60*n))
print(str)
df = pro.hk_hold(trade_date = str)
if len(df.values) > 0:
try:
df["ts_code"] = df["ts_code"].map(lambda x: x[:-3])
df.to_sql('hk_hold', engine, if_exists='append', index=False)
except:
print(str, "to_sql faile")
c += 1
n += 1
else:
begin = time.mktime(time.strptime(begin_day, "%Y%m%d"))
end = time.mktime(time.strptime(end_day, "%Y%m%d"))
sql_table = []
while begin <= end:
str = time.strftime("%Y%m%d", time.localtime(begin))
print(str)
begin = begin + 24*60*60
df = pro.hk_hold(trade_date=str)
if df.shape[0] > 0:
try:
df["ts_code"] = df["ts_code"].map(lambda x: x[:-3])
df.to_sql('hk_hold', engine, if_exists='append', index=False)
except:
print(str, "to_sql faile")