tushare目前有旧接口和新接口,在旧接口中更能方便获取一些数据
但是一个一个获取太麻烦,输入格式为000001,600030这类格式。
解决方案:
1. 先获取所有股票代码:格式为000001.SZ很明显不能满足上面接口调用
import tushare as ts import pandas as pd ts.set_token('') pro = ts.pro_api() df = pro.stock_basic(exchange='', list_status='L', fields='ts_code') df.to_csv(r'C:\Users\1\Desktop\新建文件夹\所有上市股票代码.csv')
2.
import tushare as ts import pandas as pd file=pd.read_csv(r'C:\Users\1\Desktop\新建文件夹\所有上市股票代码.csv',dtype={'ts_code':str})#将ts_code转化为字符类型 i=file['ts_code'][0][0:6]#我们取前六个字符可以输出看一下 print(file['ts_code'][0][0:6]) print(len(file)) df = ts.get_hist_data(i,start='2023-01-16',end='2023-01-16') print(df)#很明显我们成功了 for a in range(0,len(file)):#循环得到数据 #df = pro.daily(trade_date=i) i=file['ts_code'][a][0:6] try: df = ts.get_hist_data(i,start='2023-01-16',end='2023-01-16') df['code'] = file['ts_code'][a] except: continue df.to_csv('C:/Users/1/Desktop/新建文件夹/1.16.csv' ,index=False,mode='a',header=False) print(df)