import pandas as pd
import tushare as ts
import json
import os

# 从config.json读取tushare token
with open('config.json', 'r') as f:
    config = json.load(f)
    ts.set_token(config['APIKEY'])

# 初始化pro接口
pro = ts.pro_api()

# 获取股票列表
stock_list = None 
#判断是否有stock_list.csv
if os.path.exists('stock_list.csv'):
    stock_list = pd.read_csv('stock_list.csv')
else: 
    # 获取A股大盘股票列表 前100个
    stock_list = pro.stock_basic(exchange='', list_status='L',fields='ts_code,symbol,name,area,industry,list_date')[:100]
    #将stock_list 保存到 stock_list.csv
    stock_list.to_csv('stock_list.csv',encoding='utf-8-sig', index=False)
    print("股票列表已保存为stock_list.csv")
 #获取昨天的交易数据 
theyesterday = pd.to_datetime('today') - pd.Timedelta(days=1)
today = theyesterday.strftime('%Y%m%d')
print(today)
# 获取股票交易数据
data = pro.daily(ts_code='000001.SZ', start_date='20200101', end_date='20200131')
print(data)

  
#today =  '20250903'
data = []
for ts_code in stock_list['ts_code']:
    df = pro.daily(ts_code=ts_code, trade_date=today)
    if not df.empty:
        data.append(df)

# 合并数据并保存为CSV
if data:
    all_data = pd.concat(data)
    all_data.to_csv('stock_data.csv',encoding='utf-8-sig' ,index=False)
    print("数据已保存为stock_data.csv")
else:
    print("今日无交易数据") 
