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

求助:Azure Blob Storage中XLSX/CSV文件转换(删行、重命名列)并存储至ADLS的实现步骤

嘿,刚转云领域不用慌,这个任务用Azure Data Factory(ADF)完全能搞定,我给你拆成一步步的实操思路,都是你能跟上的基础操作:

整体任务核心流程

简单来说就是:连接存储源 → 定义数据集 → 可视化转换数据 → 执行并输出到目标存储,下面是每个环节的细节:

1. 先创建存储连接(Linked Service)

ADF需要通过Linked Service来连接外部存储,你需要创建两个:

  • Blob Storage 连接:进入ADF的「Manage」面板 → 点击「Linked Services」→ 新建 → 选择「Azure Blob Storage」类型,然后填写你的存储账户名、访问密钥(新手用密钥最直接),测试连接没问题后保存。
  • ADLS Gen2 连接:同样在Linked Services里新建,选择「Azure Data Lake Storage Gen2」,填好对应的存储账户信息,测试保存。

2. 定义数据集(Dataset)

数据集是ADF里用来描述源文件和目标文件的“模板”:

  • 源数据集(Blob里的XLSX/CSV):进入「Author」面板 → 新建数据集 → 选择对应的存储类型(Blob Storage下的Excel或CSV),关联刚才创建的Blob Linked Service,然后指定文件所在的容器、文件夹、文件名(如果要处理多个文件,后面可以参数化,先从单个文件练手)。
    • 注意:XLSX要选对应的工作表;CSV要确认分隔符、是否有表头这些设置。
  • 目标数据集(ADLS):同样新建数据集,选ADLS Gen2下的Excel或CSV,关联ADLS的Linked Service,指定要输出的容器和文件夹路径。

3. 用Data Flow做数据转换(删行+重命名列)

Data Flow是ADF里可视化处理数据的工具,完全不用写复杂代码,适合新手:

  1. 新建一个Data Flow(在Author面板里选「Data Flow」→ 新建)。
  2. 添加源节点:拖一个「Source」组件,关联你刚才创建的源数据集,确认能加载到数据预览。
  3. 删除指定行:
    • 如果是要删除符合特定条件的行(比如删除状态为“无效”的行):拖一个「Filter」组件,连接到Source,在过滤条件里写表达式(比如not(equals(Status, '无效'))),这样就会留下符合条件的行,删掉不符合的。
    • 如果是要跳过前N行(比如跳过标题行之外的冗余行):直接在Source组件的「Options」里设置「Skip rows count」,比如填1就跳过第一行。
  4. 重命名列:拖一个「Select」组件,连接到Filter组件,在Select的列列表里,直接把原来的列名改成你想要的新名字(比如把Old_UserName改成User_FullName),还可以删掉不需要的列。
  5. 添加输出节点(Sink):拖一个「Sink」组件,连接到Select组件,关联目标数据集,设置好输出格式(和源文件类型一致就行)。

4. 把Data Flow放到管道里执行

  1. 回到Author面板,新建一个「Pipeline」。
  2. 拖一个「Execute Data Flow」活动到画布上,选择你刚才创建的Data Flow。
  3. 测试运行:点击顶部的「Debug」按钮,ADF会执行整个流程,跑完后去ADLS对应的路径里检查输出文件是否符合要求。

新手友好小提示

  • 如果要批量处理文件夹里的所有文件,可以给数据集设置参数(比如文件名参数),然后用「ForEach」活动遍历Blob里的文件列表,自动处理每个文件。
  • 后期可以把Linked Service的密钥换成托管身份,更安全,不过先搞定基础流程再折腾这个。
  • 运行出错的话,去「Monitor」面板看管道和Data Flow的日志,里面会有详细的错误提示,照着排查就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:32:44