Excel 日期列转自定义文本
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的官方指南,在您的 AI 助手中安装 @user_8f803df1/excel-date-to-text 技能。
技能介绍
在 Excel 表格里,日期往往以 datetime 硬值或公式结果的形式存在。下游工具可能只接受文本日期,比如 API 字段、报告拼接、批量替换前的数据核对。手工转写一列还行,遇到多列、多工作表或重复任务,就容易漏值、错位或改错单元格。
问题与目标
@user_8f803df1/excel-date-to-text 专注解决一个问题:把 Excel 中的日期列按用户指定格式转换成文本,并在转换前判断列类型,避免把金额、编号等普通数字误判成日期。它不追求覆盖复杂表格操作,而是把日期格式转换这一件事做稳。
工作流程与关键步骤
该技能遵循 excel-safe-workflow 四步法,执行前先完成需求解析、勘察和规划,执行后再验证。
- 需求解析:从用户原话提取日期格式、新列位置、新列表头;只有缺失信息时才追问,用户已明确的参数不再重复确认。
- 勘察与规划:确认日期列集合、列号和原始表头名;检查目标列是否为
datetime硬值,而不是公式;left/right模式交给excel-insert建列,replace模式交给excel-replace执行。 - 执行:本技能负责日期列扫描与格式转换。常见
strftime格式可直接映射;yyyymdd、yyyy/m/d这类无补零需求则通过自定义函数处理。 - 验证:按插入或替换模式对齐验证,确认文本列内容、位置和表头符合预期。
适用边界与注意点
- 多个日期列必须从右到左处理,否则插入新列后源列号会变化。
datetime为空时保持文本列为空白,这是预期行为。- 超过 100MB 的文件加载和保存可能各需几分钟,需确认任务超时设置。
- 操作前自动备份;成功后保留最新 3 份,发现文件损坏时先删除坏文件再从备份恢复。
- 不要用 XML 数字范围猜测日期,应通过
openpyxl的isinstance(val, datetime)或 pandas 的pd.api.types.is_datetime64_any_dtype()判断列类型。 - 大规模转换可先用 pandas 采样确认日期列,再只在已确认日期列上做数字到文本转换。
使用场景
- 处理专利授权公告日期列:需将多列日期统一转为yyyymmdd文本,并在左侧插入新列,保留原数据。
- 报表需要把日期列替换为yyyy年mm月dd日文本格式,且必须确认该列是日期而非编号。
- 合并多表时要把日期列转为yyyy/mm/dd文本,空值保持空白,供后续按文本匹配。
- 清洗大体积Excel时,将日期列批量转为无补零的yyyymdd文本,并保留操作前备份。
适合人员
- 数据分析师:需要把Excel中的日期列转为统一文本格式,以便导入数据库或做字符串匹配。
- 专利申请人或知识产权专员:需将专利文档中的多个日期列格式化为指定文本,便于填报系统。
- 财务或运营人员:要把报销单、订单表中的日期列转为指定文本格式,供下游系统使用。
- 需要用脚本清洗Excel的工程师:要批量转换多列日期文本,同时保证不误改金额、编号等数字列。