如何解决NiFi问题:记录有双引号时发生UpdateRecord问题
我面临UpdateRecord的一个奇怪问题。我正在尝试对以下记录进行操作-
id,name,basic
1," John bro oke ",34000
2,43678
在CSVReader和CSVWriter中,Quote Char设置为Single Quote(')。在UpdateRecord中,我们正在执行一项操作-
/name -> ${field.value:replace('John',"Mark")}
UpdateRecord的输出如下-
1,' Mark bro oke ',3400
2,' " Mark bro oke " ',43678
如果我们正确地看到输出,那么我们将知道在第一条记录中,名称列的双引号被删除了。但是在输入中,两个记录中都有双引号。
输入记录的唯一区别在于,在第一个记录中,名称以双引号开头和结尾,而在第二条记录的情况下,名称以一个空格开头和结尾。
不确定空格如何产生作用。
任何帮助都会很棒!
解决方法
CSV在处理方式方面是一种非常开放的格式,但是如果我不得不猜测这里发生的事情是它没有将第二行的引号解释为“引号”,因为周围有空格他们。 CSV的常规约定是用引号将整个字段括起来,因此分隔符和引号分隔符之间的任何内容都可能使读者无法识别它是否是带引号的字段值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。