优化点: - 每只股票独立存小文件,避免每次读写203MB大文件 - 每50只股票批量合并一次,减少IO次数 - SQLite进度数据库,更可靠的断点续传 - 请求间隔从5秒降到0.3秒 新增文件: - fetch_history_v2.py: V2优化版主脚本 - run_v2.sh: 启动脚本 - .gitignore: 添加config.txt和data/*.db忽略
36 lines
890 B
Bash
36 lines
890 B
Bash
#!/bin/bash
|
|
# A股历史数据获取 - V2优化版
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# 检查配置
|
|
if [ ! -f "config.txt" ]; then
|
|
echo "请先配置 Tushare Token:"
|
|
echo " echo 'your_token' > config.txt"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查股票列表
|
|
if [ ! -f "A股股票列表.csv" ]; then
|
|
echo "缺少股票列表文件: A股股票列表.csv"
|
|
exit 1
|
|
fi
|
|
|
|
# 运行
|
|
echo "启动 A股历史数据获取 V2..."
|
|
python3 fetch_history_v2.py
|
|
|
|
# 完成后生成汇总文件
|
|
if [ -f "data/stock_daily_data.parquet" ]; then
|
|
echo "生成CSV汇总文件..."
|
|
python3 -c "
|
|
import pandas as pd
|
|
from pathlib import Path
|
|
from datetime import datetime
|
|
|
|
df = pd.read_parquet('data/stock_daily_data.parquet')
|
|
timestamp = datetime.now().strftime('%Y%m%d')
|
|
df.to_csv(f'data/A股日线数据_{timestamp}.csv', index=False)
|
|
print(f'CSV文件: data/A股日线数据_{timestamp}.csv ({len(df)}条记录)')
|
|
"
|
|
fi |