import akshare as ak
import baostock as bs
import pandas as pd
import datetime
bs.login()stk_list_place = 'D:/stk_list.csv' #股票代码表存储地址
stk_place = 'D:/Data/' #股票数据存储地址
def update_stk_list(date=None):#获取指定日期的指数、股票数据stock_rs = bs.query_all_stock(date)stock_df = stock_rs.get_data()# stock_df.to_csv('D:/all_list.csv',encoding='gbk',index =False)# stock_df.drop(stock_df[stock_df.code<'sh.600000'].index,inplace =True)# stock_df.drop(stock_df[stock_df.code>'sz.399000'].index,inplace =True)stock_df = stock_df['code']stock_df.to_csv(stk_list_place,encoding='gbk',index=False)return stock_df.tolist()stk_list = update_stk_list(datetime.date.today() - datetime.timedelta(days = 31))
# stk_list = update_stk_list(datetime.date.today())
df = pd.read_csv('D:/stk_list.csv')
df['code'] = df['code'].apply(lambda x:x.replace('.',''))import akshare as ak
for i in df['code']:try:#保存数据库df = ak.stock_zh_a_daily(symbol=i, adjust="qfq")df1 = df.iloc[:, :]df1['openinterset'] = df1['close'].pct_change()df1.to_csv('D:/Data/'+i+'.csv')except:continue
借助akshare,baoshare接口获取股票数据,日线周线分钟线均可获取。
也可保存到数据库中,后期也会更新上传,如何存储到sql数据库。