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

使用ADF Power Query导出CSV时出现多余行问题排查

ADF Power Query聚合后CSV输出出现空值行的排查与解决

在Azure Data Factory(ADF)管道中使用Power Query块对数据聚合转换后,将结果以CSV格式写入ADLS Gen2存储时,输出文件出现一行COL1为空的多余数据:

COL1, COL2
v1, 500
v2, 800
v3, 900
,1200

但ADF Studio的Power Query编辑器中未显示该行,且聚合用的kantoor1_referentie(即COL1)列不存在空值,使用的Power Query语句如下:

let Source = #"StagingHerverkoopAanbod",
  #"Grouped rows" = Table.Group(Source, {"kantoor1_referentie"}, {{"Aantal Panden", each Table.RowCount(_), Int64.Type}}),
  #"Sorted rows" = Table.Sort(#"Grouped rows", {{"kantoor1_referentie", Order.Ascending}}),
  #"Added custom" = Table.TransformColumnTypes(Table.AddColumn(#"Sorted rows", "Timestamp", each DateTime.LocalNow()), {{"Timestamp", type datetime}}) in #"Added custom"

排查与解决步骤

  • 清洗数据源隐形无效值
    编辑器预览仅加载部分数据,实际数据源中kantoor1_referentie可能存在空格、换行符等隐形空白字符串(而非NULL)。在Group操作前添加清洗步骤:

    #"Trimmed Text" = Table.TransformColumns(Source, {{"kantoor1_referentie", Text.Trim, type text}}),
    #"Filtered Blanks" = Table.SelectRows(#"Trimmed Text", each not Text.IsEmpty([kantoor1_referentie]))
    

    将上述步骤插入到Source和#"Grouped rows"之间,彻底过滤无效值。

  • 验证完整输出数据
    不要仅依赖编辑器预览,在ADF中临时添加“复制数据”活动,将Power Query输出写入Parquet格式文件(保留数据类型,避免CSV的格式混淆),检查是否真的存在空值行。

  • 检查CSV写入配置
    确认“复制数据”活动的CSV设置:

    • 关闭保留空行选项
    • 核对列分隔符是否正确,避免因分隔符识别错误导致列错位
    • 确认写入表头配置正常,防止表头异常引发数据偏移
  • 添加最终强制过滤
    在Power Query末尾添加过滤步骤,强制剔除kantoor1_referentie为空的行:

    #"Filtered Final Blanks" = Table.SelectRows(#"Added custom", each not Text.IsNullOrEmpty([kantoor1_referentie]))
    

    将原语句的in #"Added custom"替换为in #"Filtered Final Blanks"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:40:26