You need to enable JavaScript to run this app. Python将dd/mm/yyyy转带单引号yyyy-mm-dd适配校验脚本的实现方案
优惠活动
大模型
产品
解决方案
定价
更多

Python将dd/mm/yyyy转带单引号yyyy-mm-dd适配校验脚本的实现方案

问题根因
  • 校验脚本采用静态文本扫描逻辑,直接读取.ipynb文件的原始存储内容匹配规则,既不会执行Notebook的代码,也不会读取代码运行后生成的运行时变量值。
  • 你当前的赋值逻辑是动态计算的,即源码层面写的是类似max_p_range_day = row['date'].strftime('%Y-%m-%d')的表达式,文本里不存在“被单引号包裹的纯数字+连字符结构的日期字符串”,正则匹配结果为空列表,取第0个元素时自然触发IndexError。
  • 你本地自测能成功匹配,是因为测试时写入的是带字面量日期的赋值文本,和实际提交的Notebook里的动态赋值源码不是同一内容,自测结果无法代表正式校验场景的情况。
  • 给定的正则有严格的结构要求:max_p_range_day的赋值语句中,等号后必须直接跟随被单引号包裹的、仅由数字和连字符/逗号组成的字符串,中间不能嵌套函数调用、变量引用、表达式内容,任何偏离该结构的写法都会匹配失败。
适配校验规则的实现方案
  • 第一步:正常完成数据处理流程:用pandas加载数据集,将Day列从原始的"dd/mm/yyyy"字符串格式转为datetime类型,计算气压差列并定位最大值所在的行,取出对应日期后手动整理为yyyy-mm-dd格式的确定值。
  • 第二步:在Notebook的独立代码单元格内,单独书写一行字面量赋值语句,严格贴合正则匹配要求:
    max_p_range_day = '2018-03-23'
    
  • 合规书写的注意事项:
    • 日期值必须使用英文半角单引号包裹,不得使用双引号、三引号
    • 赋值语句不得拆分换行,不得在等号后写入函数调用、变量引用、拼接表达式
    • 不要使用f-string、format等动态拼接的赋值写法,这类写法的源码结构不符合正则匹配规则
  • 常见无效写法(均无法触发正则匹配):
    • max_p_range_day = max_row['Day'].strftime('%Y-%m-%d')
    • max_p_range_day = f'{computed_date}'
    • max_p_range_day = computed_date
    • max_p_range_day = "2018-03-23"(使用双引号包裹)

内容的提问来源于stack exchange,提问作者MVKXXX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.09 03:06:10