Pentaho-CSV输入-输入字段微调类型-意外行为
在Pentaho(V7)中使用CSV输入实用程序时,我们同时使用trim类型来实现以下目标。但它并没有像预期的那样起作用 以下是测试数据和预期输出与实际输出Pentaho-CSV输入-输入字段微调类型-意外行为,pentaho,pentaho-spoon,Pentaho,Pentaho Spoon,在Pentaho(V7)中使用CSV输入实用程序时,我们同时使用trim类型来实现以下目标。但它并没有像预期的那样起作用 以下是测试数据和预期输出与实际输出 |Incoming Data |Expected Output |Actual Output | |<space>abc<space> |abc |abc
|Incoming Data |Expected Output |Actual Output |
|<space>abc<space> |abc |abc |
|abc<space> |abc |abc |
|<space>abc |abc |abc |
|"<space>abc<space>" |<space>abc<space> |abc |
|"<space>abc<space>"<space> |<space>abc<space> |abc |
|<space>"<space>abc<space>" |<space>abc<space> |"<space>abc |
|<space>"<space>abc<space>"<space> |<space>abc<space> |"<space>abc |
|"abc"<space> |abc |abc |
|<space>"abc" |abc |"abc |
|<space>"abc"<space> |abc |"abc |
|传入数据|预期输出|实际输出|
|abc | abc | abc|
|abc | abc | abc|
|abc | abc | abc|
|“abc”| abc | abc|
|“abc”| abc | abc|
|“abc”| abc |“abc”|
|“abc”| abc |“abc”|
|“abc”| abc | abc|
|“abc”| abc |“abc”|
|“abc”| abc |“abc”|
有人能指导我吗?看起来CSV输入无法正确处理格式错误的CSV数据(令人惊讶!)。在分隔符和外壳字符之间留有额外的空格显然不适合这个步骤。“修剪”功能查看机柜内部,以修剪空间,而不是外部 我已经测试了文本文件输入步骤,正如marabu所说,这应该是CSV文件的默认选择。不幸的是,它给出了与问题中相同的意外结果 解决方案是在CSV输入步骤中从机柜定义框中删除双引号(红色圆圈)。然后,该步骤将正确修剪字符串外部的空格,无论是否引用。然后,通过“替换为字符串”步骤将数据替换为“空”(红色下划线)
看起来CSV输入无法正确处理格式错误的CSV数据(令人惊讶!)。在分隔符和附件字符之间留有额外的空格显然不适合此步骤。trim函数会在附件内部而不是外部对空格进行修剪 我已经测试了文本文件输入步骤,正如marabu所说,这应该是CSV文件的默认选择。不幸的是,它给出了与问题中相同的不期望的结果 解决方案是在CSV输入步骤中从机柜定义框中删除双引号(红色圆圈)。然后该步骤将正确修剪字符串外的空格,无论是否带引号。然后通过“字符串替换”步骤将数据替换为“空”(红色下划线)
如果没有使用CSV输入的技术原因,请改用文本文件输入。TFI可以更好地处理CSV输入。如果可能的话,您应该与CSV制作人讨论数据质量 更新:TFI 6.1.0.1-196预览输出
还不错,当我们接受“在壶中修剪”总是对字段值进行修剪时,也就是说,在测试用例4和5中,您不能像预期的那样保护前导或尾随空格不被修剪。如果没有使用CSV输入的技术原因,请改为使用文本文件输入。TFI可以更好地处理CSV输入。如果可能的话,您应该与CSV制作人讨论数据质量 更新:TFI 6.1.0.1-196预览输出
还不错,当我们接受“在壶中修剪”总是对字段值进行修剪时,也就是说,在测试用例4和5中,您不能像预期的那样保护前导或尾随空格不被修剪。如果您有嵌入的引号,则引号的替换更复杂。如果您有嵌入的引号,则引号的替换更复杂。