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

如何在ADF中将API返回的CSV字符串提取为Blob存储的CSV文件?

解决ADF中API返回的CSV字符串转正常CSV文件的问题

问题原因

你之前生成单行CSV的核心问题是:API返回的results字段是完整的CSV格式字符串(包含表头和多行数据,用\n分隔),但ADF复杂映射将其当作单个字符串值处理,没有按换行符拆分成行,导致输出的CSV只有一行,无法被正确解析。

推荐解决方案:使用ADF数据流转换

步骤1:配置数据源

创建Blob存储数据集,指向保存API返回JSON的文件,格式选择JSON,确保能读取到results字段。

步骤2:派生列拆分CSV字符串

在数据流中添加「派生列」转换,新增列csv_rows,使用表达式:

split(results, '\n')

该表达式会把整个CSV字符串按换行符拆分成数组,每个元素对应一行数据(包含表头)。

步骤3:拆分数组为多行

添加「拆分数组」转换,将csv_rows数组作为拆分对象,把数组中的每个元素拆分成单独的数据行。

步骤4:处理表头(可选)

如果后续要导入SQL表,需要过滤掉表头行,可以添加「筛选行」转换,使用表达式排除表头:

!startswith(currentRow, 'Customer Name')

步骤5:配置目标CSV数据集

创建Blob存储目标数据集,格式选择CSV,配置关键参数:

  • 分隔符:,
  • 引号字符:"
  • 第一行作为表头:根据需求勾选(保留表头行则勾选)

运行数据流后,Blob存储中会生成每行对应一条数据的标准CSV文件,可直接被ADF读取并导入SQL表。

备选方案:复制活动结合自定义查询(简单场景适用)

若不想使用数据流,可在复制活动中直接处理:

  1. 源选择HTTP链接服务,在「源」设置中用JSON路径$.results提取CSV字符串。
  2. 在「映射」的高级模式中,添加映射并使用split()函数拆分字符串,再指定拆分后的数组为集合引用。不过这种方式灵活性较低,优先推荐数据流方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:33:22