tushare官网地址:Tushare数据
欢迎大家注册体验
- 安装tushare库
在命令提示符或终端中输入以下命令,可使用pip安装tushare库:
pip install tushare
- 获取API token
在使用tushare库之前,需要先获取API token。在tushare官网注册账号并登录后,进入“个人中心”-“API Token”页面,即可获取到自己的token。
- 导入库和设置参数
在代码中导入需要的库,并设置需要获取的数据时间范围和token。
import tushare as ts
import pandas as pd
from datetime import datetime
from tqdm import tqdmpro = ts.pro_api(token='your_token_here')
current_date_and_time = datetime.now()
current_date = current_date_and_time.strftime("%Y%m%d")
- 获取数据
使用tushare库提供的函数获取需要的数据,如下所示:
#IPO新股列表
df_new_share=pro.new_share(start_date='20230401', end_date='20230631')
#每日停复牌信息
df_suspend_d= pro.suspend_d(suspend_type='R', trade_date='20230410',start_date='20230401',end_date='20231231')
#日线行情
df_daily= pro.daily(ts_code='300364.SZ', start_date='20230401', end_date='20231231')
#上市公司基本信息
df_stock_company=pro.stock_company(ts_code='300364.SZ')
其中,每个函数的参数含义可在tushare官网的API文档中查看。
- 保存数据
使用pandas库将数据保存在Excel文件中,如下所示:
writer=pd.ExcelWriter('your_file_path_here')
df_new_share.to_excel(writer,index=False,sheet_name='IPO新股列表(每日19点更新)')
df_daily.to_excel(writer,index=False,sheet_name='日线行情(交易日每日15点~17点之间更新)')
df_suspend_d.to_excel(writer,index=False,sheet_name='每日停复牌信息')
df_stock_company.to_excel(writer,index=False,sheet_name='上市公司基本信息')
writer.save()
其中,ExcelWriter函数中的参数为Excel文件的路径和文件名,to_excel函数中的sheet_name参数为Excel文件中的工作表名。
- 添加进度条
使用tqdm库为代码添加进度条,提高代码的可读性和维护性,如下所示:#total=5表示总共需要执行5个任务,desc="正在获取数据"表示进度条的描述信息为"正在获取数据"
with tqdm(total=8, desc="正在获取数据") as pbar:
#IPO新股列表
df_new_share=pro.new_share(start_date='20230401', end_date='20230631')
pbar.update(1)
#每日停复牌信息
df_suspend_d= pro.suspend_d(suspend_type='R', trade_date='20230410',start_date='20230401',end_date='20231231')
pbar.update(1)
#日线行情
df_daily= pro.daily(ts_code='300364.SZ', start_date='20230401', end_date='20231231')
pbar.update(1)
#上市公司基本信息
df_stock_company=pro.stock_company(ts_code='300364.SZ')
pbar.update(1)with tqdm(total=5, desc="正在保存数据") as pbar:
writer=pd.ExcelWriter('F:\chatgpt\龙虎榜\增强版龙虎榜PRO.xlsx')
df_new_share.to_excel(writer,index=False,sheet_name='IPO新股列表(每日19点更新)')
pbar.update(1)
df_daily.to_excel(writer,index=False,sheet_name='日线行情(交易日每日15点~17点之间更新)')
pbar.update(1)
df_suspend_d.to_excel(writer,index=False,sheet_name='每日停复牌信息')
pbar.update(1)
df_stock_company.to_excel(writer,index=False,sheet_name='上市公司基本信息')
pbar.update(1)
writer.save()
其中,with语句结合tqdm函数使用,total参数为任务数量,desc参数为进度条描述信息,pbar.update(1)语句在每个任务完成后更新进度条。
- 完整代码
以下为获取股票相关数据并保存在Excel文件中的完整代码:
import tushare as ts
import pandas as pd
from datetime import datetime
from tqdm import tqdmpro = ts.pro_api(token='your_token_here')
current_date_and_time = datetime.now()
current_date = current_date_and_time.strftime("%Y%m%d")with tqdm(total=8, desc="正在获取数据") as pbar:
#IPO新股列表
df_new_share=pro.new_share(start_date='20230401', end_date='20230631')
pbar.update(1)
#每日停复牌信息
df_suspend_d= pro.suspend_d(suspend_type='R', trade_date='20230410',start_date='20230401',end_date='20231231')
pbar.update(1)
#日线行情
df_daily= pro.daily(ts_code='300364.SZ', start_date='20230401', end_date='20231231')
pbar.update(1)
#上市公司基本信息
df_stock_company=pro.stock_company(ts_code='300364.SZ')
pbar.update(1)with tqdm(total=5, desc="正在保存数据") as pbar:
writer=pd.ExcelWriter('your_file_path_here')
df_new_share.to_excel(writer,index=False,sheet_name='IPO新股列表(每日19点更新)')
pbar.update(1)
df_daily.to_excel(writer,index=False,sheet_name='日线行情(交易日每日15点~17点之间更新)')
pbar.update(1)
df_suspend_d.to_excel(writer,index=False,sheet_name='每日停复牌信息')
pbar.update(1)
df_stock_company.to_excel(writer,index=False,sheet_name='上市公司基本信息')
pbar.update(1)
writer.save()
以上就是使用tushare库获取股票数据并存储在Excel文件中的方法,希望对大家有所帮助。