diff --git a/data_manager.py b/data_manager.py index 0068df5..85b4724 100644 --- a/data_manager.py +++ b/data_manager.py @@ -284,23 +284,24 @@ class DataReader: logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}") return [] - @staticmethod - def get_stk_auction(start_date=None, end_date=None, filter_main_board=True): + def get_table_data_by_date(table_name, start_date=None, end_date=None, filter_main_board=True): """ - 从数据库获取盘前竞价数据(stk_auction),并截取指定日期范围内的数据 + 从数据库获取指定表的数据,并截取指定日期范围内的数据 参数: + table_name (str): 数据库表名 start_date (str): 开始日期,格式'YYYYMMDD',默认为30天前 end_date (str): 结束日期,格式'YYYYMMDD',默认为今天 filter_main_board (bool): 是否只返回主板上市股票的数据,默认为True + error_prefix (str): 错误日志的前缀 返回: - pandas.DataFrame: 盘前竞价数据 + pandas.DataFrame: 查询的数据 """ # 先检查表是否存在 - if not db_manager.table_exists('stk_auction'): - logger.debug(f"表 stk_auction 不存在") + if not db_manager.table_exists(table_name): + logger.debug(f"表 {table_name} 不存在") return pd.DataFrame() # 设置默认日期范围 @@ -327,10 +328,10 @@ class DataReader: return pd.DataFrame() # 查询数据 - df = db_manager.load_df_from_db('stk_auction', conditions=conditions) + df = db_manager.load_df_from_db(table_name, conditions=conditions) return df + except Exception as e: - logger.error(f"获取盘前竞价数据时出错: {e}") + logger.error(f"获取{table_name}数据时出错: {e}") logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}") return pd.DataFrame() -