feat: 添加热点股追踪数据导出/导入脚本
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
# 热点股追踪数据导出/导入工具
|
||||
|
||||
## 功能说明
|
||||
|
||||
本工具用于导出和导入热点股追踪的历史数据,包括:
|
||||
- 每日题材涨幅前20
|
||||
- 每日核心股票(覆盖多个题材的股票)
|
||||
- 每日核心股票与题材的关联关系
|
||||
|
||||
## 快速使用(Docker环境)
|
||||
|
||||
### 1. 导出8月20日的数据
|
||||
|
||||
```bash
|
||||
./scripts/docker_hotspot.sh export 2026-08-20
|
||||
```
|
||||
|
||||
### 2. 导入数据
|
||||
|
||||
```bash
|
||||
# 导入数据到容器
|
||||
./scripts/docker_hotspot.sh import hotspot_2026-08-20.json
|
||||
```
|
||||
|
||||
### 3. 查看数据库中的日期
|
||||
|
||||
```bash
|
||||
./scripts/docker_hotspot.sh list
|
||||
```
|
||||
|
||||
### 4. 备份整个数据库
|
||||
|
||||
```bash
|
||||
./scripts/docker_hotspot.sh backup
|
||||
```
|
||||
|
||||
### 5. 进入Python shell
|
||||
|
||||
```bash
|
||||
./scripts/docker_hotspot.sh shell
|
||||
```
|
||||
|
||||
## 本地开发环境
|
||||
|
||||
如果在本地开发环境中,可以使用以下命令:
|
||||
|
||||
```bash
|
||||
# 导出数据
|
||||
python3 scripts/export_hotspot_data.py export --date 2026-08-20
|
||||
|
||||
# 导入数据
|
||||
python3 scripts/export_hotspot_data.py import --file hotspot_2026-08-20.json
|
||||
|
||||
# 列出日期
|
||||
python3 scripts/export_hotspot_data.py list
|
||||
```
|
||||
|
||||
## 文件说明
|
||||
|
||||
### Docker脚本 (`docker_hotspot.sh`)
|
||||
|
||||
- `export [日期]`: 从容器导出数据(默认8月20日)
|
||||
- `import <文件>`: 导入数据文件到容器
|
||||
- `list`: 列出所有日期
|
||||
- `backup`: 备份整个数据库
|
||||
- `shell`: 进入容器的Python shell
|
||||
|
||||
### Python脚本 (`export_hotspot_data.py`)
|
||||
|
||||
- `export --date YYYY-MM-DD`: 导出指定日期的数据
|
||||
- `import --file <文件路径>`: 导入数据文件
|
||||
- `list`: 列出数据库中所有有数据的日期
|
||||
|
||||
### Shell脚本 (`hotspot_backup.sh`)
|
||||
|
||||
- `export [日期]`: 导出数据(默认8月20日)
|
||||
- `import <文件>`: 导入数据文件
|
||||
- `list`: 列出所有日期
|
||||
- `backup`: 备份整个数据库
|
||||
|
||||
## 数据格式
|
||||
|
||||
导出的JSON文件包含以下字段:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0",
|
||||
"trade_date": "2026-08-11",
|
||||
"themes": [...], // 题材数据
|
||||
"core_stocks": [...], // 核心股票数据
|
||||
"stock_themes": [...], // 股票-题材关联
|
||||
"stats": {
|
||||
"theme_count": 20,
|
||||
"core_stock_count": 193,
|
||||
"stock_theme_count": 1205
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **容器运行**:使用Docker脚本前,请确保容器正在运行
|
||||
2. **幂等性**:导入时使用 `INSERT OR IGNORE`,重复导入不会产生重复数据
|
||||
3. **数据完整性**:导入前会检查目标日期是否已有数据
|
||||
4. **备份建议**:导入前建议先备份数据库
|
||||
5. **日期格式**:日期格式必须为 `YYYY-MM-DD`(如 `2026-08-20`)
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 容器未运行怎么办?
|
||||
|
||||
A: 启动容器:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Q: 如何查看容器是否运行?
|
||||
|
||||
A: 运行以下命令:
|
||||
|
||||
```bash
|
||||
docker ps | grep auv
|
||||
```
|
||||
|
||||
### Q: 如何手动采集8月20日的数据?
|
||||
|
||||
A: 在容器内运行:
|
||||
|
||||
```bash
|
||||
docker exec -it auv python3 -c "
|
||||
import asyncio
|
||||
from services.daily_collector import collect_daily
|
||||
asyncio.run(collect_daily('2026-08-20'))
|
||||
"
|
||||
```
|
||||
|
||||
### Q: 如何查看数据库中的日期?
|
||||
|
||||
A: 运行 `./scripts/docker_hotspot.sh list`
|
||||
|
||||
### Q: 如何备份数据库?
|
||||
|
||||
A: 运行 `./scripts/docker_hotspot.sh backup`
|
||||
|
||||
### Q: 导入时出现错误怎么办?
|
||||
|
||||
A: 检查JSON文件格式是否正确,确保包含必要的字段。可以使用以下命令验证JSON:
|
||||
|
||||
```bash
|
||||
python3 -m json.tool hotspot_2026-08-20.json
|
||||
```
|
||||
Reference in New Issue
Block a user