Files
quant/finance/import_stocks.py

70 lines
2.3 KiB
Python
Raw Permalink Normal View History

2025-11-16 09:23:47 +08:00
import os
import logging
from excel_stock_importer import ExcelStockImporter
# 设置日志
logging.basicConfig(level=logging.INFO)
def main():
# 数据库配置
db_config = {
'host': '127.0.0.1',
'database': 'fintech',
'user': 'root',
'password': 'secret',
'port': 3306
}
# Excel文件路径 - 尝试不同的路径
excel_files = [
"stock_list.xlsx", # 当前目录
"./finance/stock_list.xlsx", # 当前目录(明确指定)
os.path.join(os.getcwd(), "./finance/stock_list.xlsx"), # 绝对路径
]
print("=== 当前工作目录 ===")
print(f"工作目录: {os.getcwd()}")
print(f"目录内容: {os.listdir('.')}")
# 初始化导入器
importer = ExcelStockImporter(db_config)
found_file = None
for excel_file in excel_files:
if os.path.exists(excel_file):
found_file = excel_file
print(f"找到文件: {excel_file}")
break
else:
print(f"文件不存在: {excel_file}")
if not found_file:
print("未找到stock_list.xlsx文件请检查")
print("1. 文件名是否正确(包括扩展名)")
print("2. 文件是否在当前目录")
print("3. 文件权限是否正常")
return
# 验证数据
print("\n=== 验证数据 ===")
validation_result = importer.validate_data(found_file)
print(f"数据验证结果: {'通过' if validation_result['valid'] else '失败'}")
if 'total_rows' in validation_result:
print(f"总行数: {validation_result['total_rows']}")
print(f"行业列表: {validation_result.get('industries', [])}")
print(f"交易所列表: {validation_result.get('exchanges', [])}")
if validation_result.get('duplicate_stocks'):
print(f"重复股票代码: {validation_result['duplicate_stocks']}")
if validation_result.get('valid'):
# 导入数据
print("\n=== 导入数据 ===")
success = importer.import_to_database(found_file)
print(f"导入结果: {'成功' if success else '失败'}")
else:
print(f"数据验证失败: {validation_result.get('message', '未知错误')}")
if __name__ == "__main__":
main()