diff --git a/back_ground_module/common_module.py b/back_ground_module/common_module.py index de4aa10..d1647c8 100644 --- a/back_ground_module/common_module.py +++ b/back_ground_module/common_module.py @@ -185,7 +185,7 @@ class CommonModule: # 获取指定天数前的日期 now_time = datetime.now() - yes_time = now_time + timedelta(days=-2) + yes_time = now_time + timedelta(days=-2) # 防止NGV没更新 yes_time_nyr = int(yes_time.strftime('%Y%m%d')) # 获取前两天日期 # 获取指定天数前的日期 diff --git a/back_ground_module/logs/error_task.log b/back_ground_module/logs/error_task.log index 925e296..ab1ffd5 100644 --- a/back_ground_module/logs/error_task.log +++ b/back_ground_module/logs/error_task.log @@ -141,3 +141,32 @@ Traceback (most recent call last): import numpy.typing as typing ^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'numpy.rec' +2026-01-06 16:04:19,673 - log_config.py - error_task_logger - ERROR - 任务执行失败: Can only use .dt accessor with datetimelike values +Traceback (most recent call last): + File "D:\Idea Project\SaaS_V1.7\back_ground_module\update_molecule_reporting_adjustment_to_bi.py", line 207, in main + df['归属月份'] = df['归属月份'].dt.tz_localize(None).dt.strftime('%Y-%m-%d %H:%M:%S') + ^^^^^^^^^^^^^^^^^ + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\generic.py", line 6321, in __getattr__ + return object.__getattribute__(self, name) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\accessor.py", line 224, in __get__ + accessor_obj = self._accessor(obj) + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\indexes\accessors.py", line 643, in __new__ + raise AttributeError("Can only use .dt accessor with datetimelike values") +AttributeError: Can only use .dt accessor with datetimelike values. Did you mean: 'at'? +2026-01-06 16:14:24,812 - log_config.py - error_task_logger - ERROR - 写入数据时发生错误: overflow encountered in multiply +Traceback (most recent call last): + File "D:\Idea Project\SaaS_V1.7\back_ground_module\update_denominator_reporting_adjustment_to_bi.py", line 157, in write_to_bi + dt_utc = pd.to_datetime(timestamp_ms, unit='ms', utc=True) + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 1072, in to_datetime + values = convert_listlike(arg._values, format) + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 409, in _convert_listlike_datetimes + return _to_datetime_with_unit(arg, unit, name, utc, errors) + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 517, in _to_datetime_with_unit + arr = cast_from_unit_vectorized(arg, unit=unit) + File "pandas/_libs/tslibs/conversion.pyx", line 149, in pandas._libs.tslibs.conversion.cast_from_unit_vectorized + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\numpy\_core\fromnumeric.py", line 3674, in round + return _wrapfunc(a, 'round', decimals=decimals, out=out) + File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\numpy\_core\fromnumeric.py", line 54, in _wrapfunc + return bound(*args, **kwds) +FloatingPointError: overflow encountered in multiply diff --git a/back_ground_module/update_denominator_reporting_adjustment_to_bi.py b/back_ground_module/update_denominator_reporting_adjustment_to_bi.py index e11fb31..b02cf5f 100644 --- a/back_ground_module/update_denominator_reporting_adjustment_to_bi.py +++ b/back_ground_module/update_denominator_reporting_adjustment_to_bi.py @@ -63,7 +63,8 @@ class DenominatorReportingAdjustment: "总部调整结果": "selectField_lfqwg05y", "总部核对结果": "selectField_lfqwg05x", "是否上传衡石": "selectField_mca5shoz", - "是否计入应续约数": "selectField_mdnwwvyo" + "是否计入应续约数": "selectField_mdnwwvyo", + "归属月份": "dateField_mjtprnxl", } def get_yida_data(self): @@ -146,15 +147,31 @@ class DenominatorReportingAdjustment: # 处理日期字段 - 新增部分 - date_fields = ['开户日期', '开始时间', '结束时间'] + date_fields = ['开户日期', '开始时间', '结束时间', "归属月份"] + # 处理日期字段 - 安全版本 for field in date_fields: if field in df.columns: - # 转换为整数类型 - df[field] = pd.to_numeric(df[field], errors='coerce').astype('Int64') - # 转换为datetime对象 - df[field] = pd.to_datetime(df[field], unit='ms') - # 转换为MySQL兼容的字符串格式 - df[field] = df[field].dt.strftime('%Y-%m-%d %H:%M:%S') + # 1. 先确保是数值类型,非数字转为 NaN + numeric_series = pd.to_numeric(df[field], errors='coerce') + + # 2. 设置合理的时间戳范围(毫秒) + # 1970-01-01 到 2100-12-31 + min_ts = 0 + max_ts = 4102444799999 # 2100-12-31 23:59:59.999 UTC 毫秒 + + # 3. 过滤掉超出范围的值(设为 NaN) + valid_mask = (numeric_series >= min_ts) & (numeric_series <= max_ts) + safe_timestamps = numeric_series.where(valid_mask) + + # 4. 转换为 datetime(只对有效值转换) + try: + dt_utc = pd.to_datetime(safe_timestamps, unit='ms', utc=True) + dt_shanghai = dt_utc.dt.tz_convert('Asia/Shanghai') + dt_naive = dt_shanghai.dt.tz_localize(None) + df[field] = dt_naive.dt.strftime('%Y-%m-%d %H:%M:%S') + except Exception as e: + error_task_logger.warning(f"字段 '{field}' 时间转换失败,全部置空: {e}") + df[field] = None df = df.replace([None, np.nan, pd.NA, 'nan', 'NaN', 'NAN', ''], None) diff --git a/back_ground_module/update_molecule_reporting_adjustment_to_bi.py b/back_ground_module/update_molecule_reporting_adjustment_to_bi.py index a2fd508..7200952 100644 --- a/back_ground_module/update_molecule_reporting_adjustment_to_bi.py +++ b/back_ground_module/update_molecule_reporting_adjustment_to_bi.py @@ -88,6 +88,10 @@ class MoleculeReportingAdjustment: if id_in_map == field_id: transformed_data[display_name] = value break + + + + # BI上已经实现 # if transformed_data.get("是否上传衡石") == "否" or transformed_data.get("是否上传衡石") is None: # continue @@ -193,11 +197,21 @@ class MoleculeReportingAdjustment: df = pd.DataFrame(self.molecule_data_list) # df.to_csv('molecule_data.csv', index=False) if '归属月份' in df.columns: - # 确保是整数类型 - df['归属月份'] = df['归属月份'].astype('Int64') - # 转换为datetime对象 - df['归属月份'] = pd.to_datetime(df['归属月份'], unit='ms') - # 转换为MySQL兼容的字符串格式 + # 1. 先将所有值转为数值,无法转换的变成 NaN + timestamp_ms = pd.to_numeric(df['归属月份'], errors='coerce') + + # 2. 只对有效数值(非 NaN)进行 datetime 转换 + # unit='ms', origin='unix' (默认), utc=True 表示输入是 UTC 毫秒时间戳 + df['归属月份'] = pd.to_datetime(timestamp_ms, unit='ms', utc=True) + + # 3. 转换时区到 UTC+8(Asia/Shanghai) + df['归属月份'] = df['归属月份'].dt.tz_convert('Asia/Shanghai') + + # 4. 移除时区信息(因为 MySQL DATETIME 不支持时区) + df['归属月份'] = df['归属月份'].dt.tz_localize(None) + + # 5. 格式化为字符串(可选:如果你写入的是 DATETIME 字段,其实可以保持 datetime 类型,pymysql 会自动处理) + # 但你当前 write_to_bi 用的是 %s 插入,所以需要字符串 df['归属月份'] = df['归属月份'].dt.strftime('%Y-%m-%d %H:%M:%S') # step2:清空BI数据表 diff --git a/logs/error_task.log b/logs/error_task.log index 12c6184..2eb08b3 100644 --- a/logs/error_task.log +++ b/logs/error_task.log @@ -2578,3 +2578,24 @@ 2026-01-04 13:45:42,823 - log_config.py - error_task_logger - ERROR - 任务 合伙人结算登记同步到BI (12:02) 超过执行窗口5分钟以上,标记为过期。 2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。 2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,451 - log_config.py - error_task_logger - ERROR - 任务 NGV新增数据 (09:00) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,452 - log_config.py - error_task_logger - ERROR - 任务 新签客户回访 (09:05) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,453 - log_config.py - error_task_logger - ERROR - 任务 续约客户回访 (09:08) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,454 - log_config.py - error_task_logger - ERROR - 任务 接车宝日常派发 (09:10) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,455 - log_config.py - error_task_logger - ERROR - 任务 私域小程序数据支撑 (04:40) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,456 - log_config.py - error_task_logger - ERROR - 任务 小六提成数据支撑 (04:40) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,457 - log_config.py - error_task_logger - ERROR - 任务 异业合作数据支撑 (04:20) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,459 - log_config.py - error_task_logger - ERROR - 任务 短信数据支撑 (04:10) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,460 - log_config.py - error_task_logger - ERROR - 任务 海外邮件推送 (08:28) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,461 - log_config.py - error_task_logger - ERROR - 任务 异常服务待办派发 (10:00) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,462 - log_config.py - error_task_logger - ERROR - 任务 简道云海外项目CRM客户档案迁移BI (08:37) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,463 - log_config.py - error_task_logger - ERROR - 任务 分母报备调整 (09:05) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,465 - log_config.py - error_task_logger - ERROR - 任务 分子报备调整 (09:03) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,466 - log_config.py - error_task_logger - ERROR - 任务 履约表数据支撑 (09:10) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,467 - log_config.py - error_task_logger - ERROR - 任务 字段监控 (06:25) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,468 - log_config.py - error_task_logger - ERROR - 任务 经销商新签服务单转BI (08:05) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,470 - log_config.py - error_task_logger - ERROR - 任务 非标业绩提报转BI (08:01) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,471 - log_config.py - error_task_logger - ERROR - 任务 合伙人结算登记同步到BI (08:02) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,472 - log_config.py - error_task_logger - ERROR - 任务 高德匹配手机号 (05:00) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,473 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。 +2026-01-06 10:22:45,475 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。 diff --git a/logs/task.log b/logs/task.log index 315a124..e07b199 100644 --- a/logs/task.log +++ b/logs/task.log @@ -291,3 +291,53 @@ 2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。 2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 启动任务加载完成。 2026-01-04 13:45:42,825 - main.py - task_logger - INFO - 程序已启动... +2026-01-06 10:22:44,364 - utils.py - task_logger - INFO - 任务队列已从磁盘加载。 +2026-01-06 10:22:45,444 - api.py - task_logger - INFO - 获取了35条数据 +2026-01-06 10:22:45,449 - sample_cloud_modules.py - task_logger - INFO - 任务已从云端获取并保存到 tasks.csv 文件。 +2026-01-06 10:22:45,450 - main.py - task_logger - INFO - 任务列表已保存到 csv 文件中。 +2026-01-06 10:22:45,450 - utils.py - task_logger - INFO - 启动时加载并执行任务... +2026-01-06 10:22:45,451 - utils.py - task_logger - INFO - 任务已从磁盘加载到全局任务字典。 +2026-01-06 10:22:45,452 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,452 - utils.py - task_logger - INFO - 任务 NGV新增数据 (09:00) 状态已更新为 过期。 +2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 任务 新签客户回访 (09:05) 状态已更新为 过期。 +2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,454 - utils.py - task_logger - INFO - 任务 续约客户回访 (09:08) 状态已更新为 过期。 +2026-01-06 10:22:45,454 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,455 - utils.py - task_logger - INFO - 任务 接车宝日常派发 (09:10) 状态已更新为 过期。 +2026-01-06 10:22:45,456 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,456 - utils.py - task_logger - INFO - 任务 私域小程序数据支撑 (04:40) 状态已更新为 过期。 +2026-01-06 10:22:45,457 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,457 - utils.py - task_logger - INFO - 任务 小六提成数据支撑 (04:40) 状态已更新为 过期。 +2026-01-06 10:22:45,458 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,458 - utils.py - task_logger - INFO - 任务 异业合作数据支撑 (04:20) 状态已更新为 过期。 +2026-01-06 10:22:45,459 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,460 - utils.py - task_logger - INFO - 任务 短信数据支撑 (04:10) 状态已更新为 过期。 +2026-01-06 10:22:45,461 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,461 - utils.py - task_logger - INFO - 任务 海外邮件推送 (08:28) 状态已更新为 过期。 +2026-01-06 10:22:45,462 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,462 - utils.py - task_logger - INFO - 任务 异常服务待办派发 (10:00) 状态已更新为 过期。 +2026-01-06 10:22:45,463 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,463 - utils.py - task_logger - INFO - 任务 简道云海外项目CRM客户档案迁移BI (08:37) 状态已更新为 过期。 +2026-01-06 10:22:45,464 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,465 - utils.py - task_logger - INFO - 任务 分母报备调整 (09:05) 状态已更新为 过期。 +2026-01-06 10:22:45,466 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,466 - utils.py - task_logger - INFO - 任务 分子报备调整 (09:03) 状态已更新为 过期。 +2026-01-06 10:22:45,467 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,467 - utils.py - task_logger - INFO - 任务 履约表数据支撑 (09:10) 状态已更新为 过期。 +2026-01-06 10:22:45,468 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,468 - utils.py - task_logger - INFO - 任务 字段监控 (06:25) 状态已更新为 过期。 +2026-01-06 10:22:45,469 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,469 - utils.py - task_logger - INFO - 任务 经销商新签服务单转BI (08:05) 状态已更新为 过期。 +2026-01-06 10:22:45,470 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,471 - utils.py - task_logger - INFO - 任务 非标业绩提报转BI (08:01) 状态已更新为 过期。 +2026-01-06 10:22:45,472 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,472 - utils.py - task_logger - INFO - 任务 合伙人结算登记同步到BI (08:02) 状态已更新为 过期。 +2026-01-06 10:22:45,473 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,473 - utils.py - task_logger - INFO - 任务 高德匹配手机号 (05:00) 状态已更新为 过期。 +2026-01-06 10:22:45,474 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,474 - utils.py - task_logger - INFO - 任务 省市区人员关系表转BI (08:00) 状态已更新为 过期。 +2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。 +2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。 +2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 启动任务加载完成。 +2026-01-06 10:22:45,476 - main.py - task_logger - INFO - 程序已启动... diff --git a/tasks.csv b/tasks.csv index 412004a..8cfeef4 100644 --- a/tasks.csv +++ b/tasks.csv @@ -1,6 +1,6 @@ unique_id,exec_time,is_switch_on,status NGV新增数据,09:00,True,过期 -NGV更新数据,12:30,True,过期 +NGV更新数据,12:30,True,待执行 新签客户回访,09:05,True,过期 续约客户回访,09:08,True,过期 大客户回访,08:55,False,已禁用 @@ -28,9 +28,9 @@ NGV更新数据,12:30,True,过期 非标业绩提报转BI,08:01,True,过期 合伙人结算登记同步到BI,08:02,True,过期 高德匹配手机号,05:00,True,过期 -非标业绩提报转BI,12:01,True,过期 +非标业绩提报转BI,12:01,True,待执行 非标业绩提报转BI,17:01,True,待执行 -合伙人结算登记同步到BI,12:02,True,过期 +合伙人结算登记同步到BI,12:02,True,待执行 合伙人结算登记同步到BI,17:02,True,待执行 省市区人员关系表转BI,08:00,True,过期 续约回访待办,09:35,True,过期 diff --git a/test/续约待办宜搭传给简道云.py b/test/续约待办宜搭传给简道云.py index 7742927..ec3386a 100644 --- a/test/续约待办宜搭传给简道云.py +++ b/test/续约待办宜搭传给简道云.py @@ -596,6 +596,8 @@ class YDToJDYRenewalToDo(object): else: # 没有历史文件 或 无法比对 → 返回全部当前数据 diff_records = df_current.to_dict('records') # ← 关键修改点 + # 保存当前全量数据(覆盖) + df_current.to_csv(current_file, index=False) return diff_records diff --git a/tools/BI.ipynb b/tools/BI.ipynb index 5b159c0..f2118ed 100644 --- a/tools/BI.ipynb +++ b/tools/BI.ipynb @@ -237,8 +237,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-25T06:47:43.233398500Z", - "start_time": "2025-12-25T06:47:42.837753600Z" + "end_time": "2026-01-06T08:14:03.891128500Z", + "start_time": "2026-01-06T08:14:03.535415Z" } }, "cell_type": "code", @@ -254,10 +254,10 @@ " } # 衡时数据库链接配置-mysql\n", "# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n", "\n", - "table_name = \"partner_settlement_to_BI\"\n", - "column_name = \"是否同步\"\n", - "new_column_type = \"VARCHAR(255)\" # 目标数据类型\n", - "# new_column_type = \"DATETIME\" # 目标数据类型\n", + "table_name = \"f6_denominator_adjustment\"\n", + "column_name = \"归属月份\"\n", + "# new_column_type = \"VARCHAR(255)\" # 目标数据类型\n", + "new_column_type = \"DATETIME\" # 目标数据类型\n", "\n", "try:\n", " # 连接数据库\n", @@ -316,12 +316,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "✅ 成功添加字段: `是否同步`\n", + "✅ 成功添加字段: `归属月份`\n", "数据库连接已关闭\n" ] } ], - "execution_count": 24 + "execution_count": 1 }, { "metadata": {}, @@ -421,8 +421,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-06-11T01:39:55.579785Z", - "start_time": "2025-06-11T01:39:55.295469Z" + "end_time": "2026-01-06T08:21:20.943512600Z", + "start_time": "2026-01-06T08:21:19.361422Z" } }, "cell_type": "code", @@ -432,10 +432,10 @@ "from mysql.connector import Error\n", "\n", "# 数据库连接信息\n", - "host = \"rm-uf6r230vbtxf5gdz63o.mysql.rds.aliyuncs.com\"\n", - "user = \"rw_operation_data_relay\"\n", - "password = \"m+q5Z4%IVuF9bf\"\n", - "database = \"f6operation_data_relay\"\n", + "BI_CONN_host = \"f6-public.rwlb.rds.aliyuncs.com\"\n", + "BI_CONN_INFO_database = \"f6operation_data_relay\"\n", + "BI_CONN_INFO_user = \"rw_operation_data_relay\"\n", + "BI_CONN_INFO_password = \"m+q5Z4%IVuF9bf\"\n", "table_name = \"yida_process_time_statistics\" # 要操作的表名\n", "# table_name = \"thailand_store_data_email\" # 要操作的表名\n", "min_id_to_delete = 127821 # 要删除的最小ID值\n", @@ -443,20 +443,20 @@ "# 连接数据库\n", "try:\n", " connection = mysql.connector.connect(\n", - " host=host,\n", - " user=user,\n", - " password=password,\n", - " database=database\n", + " host=BI_CONN_host,\n", + " user=BI_CONN_INFO_user,\n", + " password=BI_CONN_INFO_password,\n", + " database=BI_CONN_INFO_database\n", " )\n", "\n", " if connection.is_connected():\n", " cursor = connection.cursor()\n", "\n", " # 使用DELETE删除ID大于等于127821的数据\n", - " cursor.execute(f\"DELETE FROM {table_name} WHERE id >= {min_id_to_delete}\")\n", + " # cursor.execute(f\"DELETE FROM {table_name} WHERE id >= {min_id_to_delete}\")\n", + " cursor.execute(f\"DELETE FROM GP_monthly_renewal_rate_new WHERE 月分区(仅用于存储每月最后一天截至数据) = '202512';\")\n", "\n", " connection.commit()\n", - " print(f\"成功删除表 {table_name} 中ID大于等于{min_id_to_delete}的所有数据\")\n", "\n", "except Error as e:\n", " print(f\"删除数据时发生错误: {e}\")\n", @@ -474,12 +474,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "成功删除表 yida_process_time_statistics 中ID大于等于127821的所有数据\n", "数据库连接已关闭\n" ] } ], - "execution_count": 3 + "execution_count": 2 }, { "metadata": {},