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

使用Apache NiFi UpdateRecord为CSV字段加双引号出现多余引号如何解决

Apache NiFi UpdateRecord处理CSV列加引号问题解决方案

问题根因

出现三重引号不符合预期的结果,有两个核心错误点:

  • 字段更新表达式存在拼写错误和逻辑冗余:你写的filed为拼写错误,正确拼写是field,且replaceAll完全不需要使用,你仅需要给原值拼接双引号即可,多余的匹配替换逻辑会引入额外的转义风险。
  • CSVRecordSetWriter默认自动加引号规则冲突:默认配置下CSVWriter如果检测到字段值包含双引号,会自动给整个字段额外套一层双引号,同时对原有双引号做转义,就会出现"""test-1"""的错误输出。

解决步骤

1. 修正UpdateRecord的更新规则

删除原有replaceAll写法,替换为直接拼接双引号的表达式:
/string_column : concat('"', ${field.value}, '"')

提示:用单引号包裹双引号,避免表达式解析时出现转义冲突。

2. 调整CSVRecordSetWriter配置

修改以下CSVRecordSetWriter参数,其余原有配置保持不变即可:

  • 找到Quote Mode配置项,选择NEVER(关闭自动给字段加引号的逻辑)
  • 保持Escape Character默认值为",不需要额外调整

3. 输出验证

调整后输出的CSV就会完全符合预期:

id,name,string_column
1,sachith,"test-1"
2,nalaka,"test-2"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:06:02