飞书多维表同步工具2026-07-04v4.0.1
NaT/URL错误修复+飞书API错误码日志优化+日志分隔优化
bug修复v4.0.1
需求描述
- 运行飞书数据同步任务时闪退(NaTType does not support strftime)和 URLFieldConvFail 错误码1254068
- 按飞书官方文档通用错误码优化日志
- 优化日志分隔:同一任务不同文件间明显分隔,不同任务间更明显分隔
改动文件清单
| 文件 | 改动内容 |
|---|---|
core/executor.py | NaT修复(pd.isna+try/except双重保护)、URL字段修复(无效URL返回None跳过)、飞书错误码映射(38个错误码)、日志分隔(═60/─50)、_log_feishu_api_error() 统一错误日志方法 |
feishu_api_v3.py | 连接验证阶段错误码处理 |
gui_sync.py | 版本号 4.0.0 → 4.0.1 |
技术要点
- NaT值处理:pandas NaT 虽有 strftime 方法但调用会抛 ValueError,需用
pd.isna(value)预过滤,加 try/except 双重保护 - URL字段(type=15)处理:飞书超链接字段要求 link 以 http:// 或 https:// 开头;无协议域名自动补 http://;非URL文本返回 None 跳过
- 错误码映射:FEISHU_BITABLE_ERRORS(33个多维表专属 1254003~1254607)+ FEISHU_COMMON_ERRORS(5个通用),
lookup_feishu_error()解析返回 code/name/desc/advice/known - 日志分隔格式:任务开始/结束
═══════ ║ 任务「xxx」开始执行 ═══════(60个═),文件间───── │ 文件 1/3: xxx.xlsx ─────(50个─),异常退出═══════ ║ 任务「xxx」执行异常退出 ═══════ - 非通用错误码自动生成飞书开放平台搜索链接
https://open.feishu.cn/search?q={错误码}
踩坑与解决
- NaT 修复需同时修改
_convert_to_records和_convert_to_records_with_rownum两个方法 - 错误码处理需区分连接验证阶段(feishu_api_v3.py)和数据同步阶段(core/executor.py),避免重复逻辑