You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ADF中创建反向索引处理两种命名格式的文件夹以读取数据

解决两种日期格式的文件夹层级生成问题

针对你遇到的date=YYYY-MM-DD和d=YYYY-MM-DD两种命名格式,这里提供两种可行的表达式方案,都能自动生成2003/09/10这类层级文件夹:

方案1:反向索引截取(符合你提到的反向索引思路)

利用字符串总长度减去日期部分的固定长度(10位,YYYY-MM-DD共10个字符),直接定位到日期起始位置,再拆分年、月、日:

@concat(
    pipeline().parameters.target,
    substring(substring(item().name, sub(length(item().name), 10), 10), 0, 4),
    '/',
    substring(substring(item().name, sub(length(item().name), 10), 10), 5, 2),
    '/',
    substring(substring(item().name, sub(length(item().name), 10), 10), 8, 2)
)

逻辑说明:

  • sub(length(item().name), 10):计算日期部分的起始索引(总长度-10),不管前缀是date=还是d=,都能精准定位到YYYY-MM-DD的开头
  • 内层substring取出完整日期字符串后,再分别截取前4位(年)、第5-6位(月)、第8-9位(日),最后拼接成目标路径

方案2:按分隔符拆分(更直观)

通过=作为分隔符拆分字符串,直接提取后面的日期部分,再拆分年、月、日:

@concat(
    pipeline().parameters.target,
    substring(split(item().name, '=')[1], 0, 4),
    '/',
    substring(split(item().name, '=')[1], 5, 2),
    '/',
    substring(split(item().name, '=')[1], 8, 2)
)

逻辑说明:

  • split(item().name, '=')[1]:将文件夹名称按=拆分,取第二个元素就是完整的YYYY-MM-DD日期字符串
  • 后续同样拆分年、月、日并拼接路径,这种方法对任何xxx=YYYY-MM-DD格式的命名都适用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:06:26