Files
2026-04-29 20:15:43 +08:00

110 lines
3.2 KiB
Python
Executable File

#!/usr/bin/env python3
"""
检查数据库中可能的标的名称格式
"""
import sqlite3
import os
def check_all_symbols():
"""检查数据库中所有标的"""
db_path = '/Users/chufeng/.openclaw/workspace-zhaoyun/zhaoyun-data/data/database_test.db'
if not os.path.exists(db_path):
print(f"❌ 数据库不存在: {db_path}")
return []
print(f"🔍 检查数据库中的标的: {db_path}")
print("="*60)
try:
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# 检查表是否存在
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='dbbardata';")
if not cursor.fetchone():
print("❌ dbbardata 表不存在")
return []
# 获取所有标的
cursor.execute("SELECT DISTINCT symbol FROM dbbardata;")
symbols = [row[0] for row in cursor.fetchall()]
print(f"📊 数据库中有 {len(symbols)} 个标的:")
for symbol in symbols:
cursor.execute("SELECT COUNT(*) FROM dbbardata WHERE symbol = ?", (symbol,))
count = cursor.fetchone()[0]
cursor.execute("SELECT MIN(datetime), MAX(datetime) FROM dbbardata WHERE symbol = ?", (symbol,))
min_dt, max_dt = cursor.fetchone()
print(f" - {symbol}: {count} 行, {min_dt} ~ {max_dt}")
conn.close()
return symbols
except Exception as e:
print(f"❌ 查询出错: {e}")
return []
def check_510300_variants():
"""检查 510300 的各种可能格式"""
print("\n🔍 检查 510300 的各种可能格式...")
print("="*60)
variants = [
'510300.SSE',
'510300.SH',
'510300.XSHG',
'510300',
'510300.XSH',
'SH510300',
'510300.SHFE',
]
db_path = '/Users/chufeng/.openclaw/workspace-zhaoyun/zhaoyun-data/data/database_test.db'
try:
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
for variant in variants:
cursor.execute("SELECT COUNT(*) FROM dbbardata WHERE symbol = ?", (variant,))
count = cursor.fetchone()[0]
if count > 0:
print(f"{variant}: {count} 行数据")
else:
print(f"{variant}: 0 行数据")
conn.close()
except Exception as e:
print(f"❌ 查询出错: {e}")
def main():
"""主函数"""
print("🚀 检查数据库标的格式")
print("="*60)
# 列出所有标的
symbols = check_all_symbols()
# 检查510300变体
check_510300_variants()
print("\n" + "="*60)
print("总结:")
if not symbols:
print("❌ dbbardata 表为空,没有任何数据")
print("\n📋 需要处理:")
print("1. 联系赵云将军下载 510300 数据")
print("2. 将数据转换为vn.py格式")
print("3. 配置正确的数据路径")
else:
print(f"✅ 数据库中有 {len(symbols)} 个标的")
print("请检查关羽将军使用的标的名称是否与数据库一致")
print("="*60)
if __name__ == "__main__":
main()