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

Azure Data Factory:如何从CSV文件列表创建多目标文件夹

批量创建带年月层级的文件夹结构(基于CSV列表)

现有基础:

已通过Lookup活动读取folderlist.csv的文件夹名称列表,外层ForEach循环遍历这些名称。以下是基于模拟复制的完整实现方案:


1. 补充变量与嵌套循环逻辑

在主管道中添加以下变量和嵌套循环:

  • 定义年份数组变量:比如YearList,值设为[2023,2024](按需调整年份范围,也可通过@range(int(substring(utcNow(),0,4))-1,2)动态生成近2年)
  • 外层ForEach(遍历CSV文件夹名)内,嵌套第二个ForEach循环,遍历YearList数组,每次迭代将当前年份存入CurrentYear变量
  • 在年份循环内,再嵌套第三个ForEach循环,遍历月份数组['01','02','03','04','05','06','07','08','09','10','11','12'](或用@range(1,12)生成数字后转两位格式),当前月份存入CurrentMonth变量

2. 生成动态文件夹路径

在每个月份循环迭代中,用表达式生成完整的层级路径:

  • 根文件夹:@item('外层ForEach的名称')(示例:freebees)
  • 年份子文件夹:@concat(item('外层ForEach的名称'), '-', variables('CurrentYear'))(示例:freebees-2023)
  • 月份子文件夹:@concat(item('外层ForEach的名称'), '-', variables('CurrentYear'), '-', variables('CurrentMonth'), substring(string(variables('CurrentYear')),2,2))(示例:freebees-2023-0123)

3. 用模拟复制创建文件夹结构

利用复制空文件的方式自动生成层级文件夹:

  • 提前准备空文件:在源存储创建一个空的dummy.txt文件
  • 配置复制活动:
    • 源数据集:指向这个dummy.txt
    • 目标数据集:设置动态路径为上述生成的月份子文件夹路径,文件名保持dummy.txt(或自定义)
    • 复制活动会自动创建路径中不存在的所有层级文件夹

4. 可选优化

  • 如果不需要保留空文件,可在所有复制完成后,添加Delete活动,用通配符*dummy.txt删除所有生成的空文件
  • 将年份、月份的逻辑封装为子管道,通过Execute Pipeline活动调用,让主管道结构更简洁
  • 若目标存储支持(如ADLS Gen2),也可替换复制活动为Web活动,调用存储REST API直接创建文件夹,省去空文件步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:02:36