分子分母归属月份字段更新

This commit is contained in:
2026-01-06 16:24:35 +08:00
parent cf3814b3c2
commit 923c035fd5
9 changed files with 171 additions and 39 deletions
+1 -1
View File
@@ -185,7 +185,7 @@ class CommonModule:
# 获取指定天数前的日期 # 获取指定天数前的日期
now_time = datetime.now() 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')) # 获取前两天日期 yes_time_nyr = int(yes_time.strftime('%Y%m%d')) # 获取前两天日期
# 获取指定天数前的日期 # 获取指定天数前的日期
+29
View File
@@ -141,3 +141,32 @@ Traceback (most recent call last):
import numpy.typing as typing import numpy.typing as typing
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'numpy.rec' 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
@@ -63,7 +63,8 @@ class DenominatorReportingAdjustment:
"总部调整结果": "selectField_lfqwg05y", "总部调整结果": "selectField_lfqwg05y",
"总部核对结果": "selectField_lfqwg05x", "总部核对结果": "selectField_lfqwg05x",
"是否上传衡石": "selectField_mca5shoz", "是否上传衡石": "selectField_mca5shoz",
"是否计入应续约数": "selectField_mdnwwvyo" "是否计入应续约数": "selectField_mdnwwvyo",
"归属月份": "dateField_mjtprnxl",
} }
def get_yida_data(self): def get_yida_data(self):
@@ -146,15 +147,31 @@ class DenominatorReportingAdjustment:
# 处理日期字段 - 新增部分 # 处理日期字段 - 新增部分
date_fields = ['开户日期', '开始时间', '结束时间'] date_fields = ['开户日期', '开始时间', '结束时间', "归属月份"]
# 处理日期字段 - 安全版本
for field in date_fields: for field in date_fields:
if field in df.columns: if field in df.columns:
# 转换为整数类型 # 1. 先确保是数值类型,非数字转为 NaN
df[field] = pd.to_numeric(df[field], errors='coerce').astype('Int64') numeric_series = pd.to_numeric(df[field], errors='coerce')
# 转换为datetime对象
df[field] = pd.to_datetime(df[field], unit='ms') # 2. 设置合理的时间戳范围(毫秒)
# 转换为MySQL兼容的字符串格式 # 1970-01-01 到 2100-12-31
df[field] = df[field].dt.strftime('%Y-%m-%d %H:%M:%S') 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) df = df.replace([None, np.nan, pd.NA, 'nan', 'NaN', 'NAN', ''], None)
@@ -88,6 +88,10 @@ class MoleculeReportingAdjustment:
if id_in_map == field_id: if id_in_map == field_id:
transformed_data[display_name] = value transformed_data[display_name] = value
break break
# BI上已经实现 # BI上已经实现
# if transformed_data.get("是否上传衡石") == "否" or transformed_data.get("是否上传衡石") is None: # if transformed_data.get("是否上传衡石") == "否" or transformed_data.get("是否上传衡石") is None:
# continue # continue
@@ -193,11 +197,21 @@ class MoleculeReportingAdjustment:
df = pd.DataFrame(self.molecule_data_list) df = pd.DataFrame(self.molecule_data_list)
# df.to_csv('molecule_data.csv', index=False) # df.to_csv('molecule_data.csv', index=False)
if '归属月份' in df.columns: if '归属月份' in df.columns:
# 确保是整数类型 # 1. 先将所有值转为数值,无法转换的变成 NaN
df['归属月份'] = df['归属月份'].astype('Int64') timestamp_ms = pd.to_numeric(df['归属月份'], errors='coerce')
# 转换为datetime对象
df['归属月份'] = pd.to_datetime(df['归属月份'], unit='ms') # 2. 只对有效数值(非 NaN)进行 datetime 转换
# 转换为MySQL兼容的字符串格式 # unit='ms', origin='unix' (默认), utc=True 表示输入是 UTC 毫秒时间戳
df['归属月份'] = pd.to_datetime(timestamp_ms, unit='ms', utc=True)
# 3. 转换时区到 UTC+8Asia/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') df['归属月份'] = df['归属月份'].dt.strftime('%Y-%m-%d %H:%M:%S')
# step2:清空BI数据表 # step2:清空BI数据表
+21
View File
@@ -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,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 - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。
2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口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分钟以上,标记为过期。
+50
View File
@@ -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 - 任务 续约回访待办 (09:35) 状态已更新为 过期。
2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 启动任务加载完成。 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-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 - 程序已启动...
+3 -3
View File
@@ -1,6 +1,6 @@
unique_id,exec_time,is_switch_on,status unique_id,exec_time,is_switch_on,status
NGV新增数据,09:00,True,过期 NGV新增数据,09:00,True,过期
NGV更新数据,12:30,True,过期 NGV更新数据,12:30,True,待执行
新签客户回访,09:05,True,过期 新签客户回访,09:05,True,过期
续约客户回访,09:08,True,过期 续约客户回访,09:08,True,过期
大客户回访,08:55,False,已禁用 大客户回访,08:55,False,已禁用
@@ -28,9 +28,9 @@ NGV更新数据,12:30,True,过期
非标业绩提报转BI,08:01,True,过期 非标业绩提报转BI,08:01,True,过期
合伙人结算登记同步到BI,08:02,True,过期 合伙人结算登记同步到BI,08:02,True,过期
高德匹配手机号,05:00,True,过期 高德匹配手机号,05:00,True,过期
非标业绩提报转BI,12:01,True,过期 非标业绩提报转BI,12:01,True,待执行
非标业绩提报转BI,17:01,True,待执行 非标业绩提报转BI,17:01,True,待执行
合伙人结算登记同步到BI,12:02,True,过期 合伙人结算登记同步到BI,12:02,True,待执行
合伙人结算登记同步到BI,17:02,True,待执行 合伙人结算登记同步到BI,17:02,True,待执行
省市区人员关系表转BI,08:00,True,过期 省市区人员关系表转BI,08:00,True,过期
续约回访待办,09:35,True,过期 续约回访待办,09:35,True,过期
1 unique_id exec_time is_switch_on status
2 NGV新增数据 09:00 True 过期
3 NGV更新数据 12:30 True 过期 待执行
4 新签客户回访 09:05 True 过期
5 续约客户回访 09:08 True 过期
6 大客户回访 08:55 False 已禁用
28 非标业绩提报转BI 08:01 True 过期
29 合伙人结算登记同步到BI 08:02 True 过期
30 高德匹配手机号 05:00 True 过期
31 非标业绩提报转BI 12:01 True 过期 待执行
32 非标业绩提报转BI 17:01 True 待执行
33 合伙人结算登记同步到BI 12:02 True 过期 待执行
34 合伙人结算登记同步到BI 17:02 True 待执行
35 省市区人员关系表转BI 08:00 True 过期
36 续约回访待办 09:35 True 过期
@@ -596,6 +596,8 @@ class YDToJDYRenewalToDo(object):
else: else:
# 没有历史文件 或 无法比对 → 返回全部当前数据 # 没有历史文件 或 无法比对 → 返回全部当前数据
diff_records = df_current.to_dict('records') # ← 关键修改点 diff_records = df_current.to_dict('records') # ← 关键修改点
# 保存当前全量数据(覆盖)
df_current.to_csv(current_file, index=False)
return diff_records return diff_records
+21 -22
View File
@@ -237,8 +237,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-25T06:47:43.233398500Z", "end_time": "2026-01-06T08:14:03.891128500Z",
"start_time": "2025-12-25T06:47:42.837753600Z" "start_time": "2026-01-06T08:14:03.535415Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -254,10 +254,10 @@
" } # 衡时数据库链接配置-mysql\n", " } # 衡时数据库链接配置-mysql\n",
"# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n", "# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n",
"\n", "\n",
"table_name = \"partner_settlement_to_BI\"\n", "table_name = \"f6_denominator_adjustment\"\n",
"column_name = \"是否同步\"\n", "column_name = \"归属月份\"\n",
"new_column_type = \"VARCHAR(255)\" # 目标数据类型\n", "# new_column_type = \"VARCHAR(255)\" # 目标数据类型\n",
"# new_column_type = \"DATETIME\" # 目标数据类型\n", "new_column_type = \"DATETIME\" # 目标数据类型\n",
"\n", "\n",
"try:\n", "try:\n",
" # 连接数据库\n", " # 连接数据库\n",
@@ -316,12 +316,12 @@
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"✅ 成功添加字段: `是否同步`\n", "✅ 成功添加字段: `归属月份`\n",
"数据库连接已关闭\n" "数据库连接已关闭\n"
] ]
} }
], ],
"execution_count": 24 "execution_count": 1
}, },
{ {
"metadata": {}, "metadata": {},
@@ -421,8 +421,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-06-11T01:39:55.579785Z", "end_time": "2026-01-06T08:21:20.943512600Z",
"start_time": "2025-06-11T01:39:55.295469Z" "start_time": "2026-01-06T08:21:19.361422Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -432,10 +432,10 @@
"from mysql.connector import Error\n", "from mysql.connector import Error\n",
"\n", "\n",
"# 数据库连接信息\n", "# 数据库连接信息\n",
"host = \"rm-uf6r230vbtxf5gdz63o.mysql.rds.aliyuncs.com\"\n", "BI_CONN_host = \"f6-public.rwlb.rds.aliyuncs.com\"\n",
"user = \"rw_operation_data_relay\"\n", "BI_CONN_INFO_database = \"f6operation_data_relay\"\n",
"password = \"m+q5Z4%IVuF9bf\"\n", "BI_CONN_INFO_user = \"rw_operation_data_relay\"\n",
"database = \"f6operation_data_relay\"\n", "BI_CONN_INFO_password = \"m+q5Z4%IVuF9bf\"\n",
"table_name = \"yida_process_time_statistics\" # 要操作的表名\n", "table_name = \"yida_process_time_statistics\" # 要操作的表名\n",
"# table_name = \"thailand_store_data_email\" # 要操作的表名\n", "# table_name = \"thailand_store_data_email\" # 要操作的表名\n",
"min_id_to_delete = 127821 # 要删除的最小ID值\n", "min_id_to_delete = 127821 # 要删除的最小ID值\n",
@@ -443,20 +443,20 @@
"# 连接数据库\n", "# 连接数据库\n",
"try:\n", "try:\n",
" connection = mysql.connector.connect(\n", " connection = mysql.connector.connect(\n",
" host=host,\n", " host=BI_CONN_host,\n",
" user=user,\n", " user=BI_CONN_INFO_user,\n",
" password=password,\n", " password=BI_CONN_INFO_password,\n",
" database=database\n", " database=BI_CONN_INFO_database\n",
" )\n", " )\n",
"\n", "\n",
" if connection.is_connected():\n", " if connection.is_connected():\n",
" cursor = connection.cursor()\n", " cursor = connection.cursor()\n",
"\n", "\n",
" # 使用DELETE删除ID大于等于127821的数据\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", "\n",
" connection.commit()\n", " connection.commit()\n",
" print(f\"成功删除表 {table_name} 中ID大于等于{min_id_to_delete}的所有数据\")\n",
"\n", "\n",
"except Error as e:\n", "except Error as e:\n",
" print(f\"删除数据时发生错误: {e}\")\n", " print(f\"删除数据时发生错误: {e}\")\n",
@@ -474,12 +474,11 @@
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"成功删除表 yida_process_time_statistics 中ID大于等于127821的所有数据\n",
"数据库连接已关闭\n" "数据库连接已关闭\n"
] ]
} }
], ],
"execution_count": 3 "execution_count": 2
}, },
{ {
"metadata": {}, "metadata": {},