CSV文件输入帮助文档

CSV文件输入步骤主要用于将CSV格式的文本文件按照一定的格式输入至流中,步骤配置信息如图1所示。

                  CSV文件输入帮助文档

                                                     图1 CSV文件输入步骤的配置信息

 

下文详细解释各控件的含义:

1、转换步骤名称:步骤的名称,在单一转换中,名称必须唯一。

2、文件:指定输入CSV文件的名称,或通过单击右边的“浏览”按钮指定本地的CSV文件。

3、列分隔符:指定分隔列的符号,一般csv文本文件默认的是逗号。如图2所示,里面的逗号就是列分隔符

                                                              CSV文件输入帮助文档

 

                                                                图2 列分隔符展示

4、封闭符:指定一个数据的封装符号,一般csv文本文件默认的是双引号。如图2所示,双引号就是封闭符。

5、NIO缓存大小:指定读取缓冲区的大小,即一次从源读取的字节数。如果读取的字节数超过设置的缓冲区大小,则会报错。

6、简易转换?:如勾选,则针对行集中的String类型,将按照二进制字节流的形式(如果读者有Java语言开发背景,可以理解为byte[]),从数据源读取数据,性能比直接读取字符串略高。所以,这里翻译为“允许以字节流的形式读取字符串”更为准确。从实际测试情况看,该参数针对非常长的字符串能够提速3%左右;对于一般长度的字符串,观测不到差别。

7、包含列头行?:如勾选,则会把字段名称作为一行数据显示。

8、将文件添加到结果文件中:勾选此项,可把转换的结果文件名存进流中,使其可以在其它步骤中被获取。如图3所示,作业中的发送邮件入口可获取上一入口CSV文件输入中的文件作为附件发送邮件。

 

图3 scv文件输出到发送邮件

9、行号字段(可选):为每行数据添加行号,并指定行号的字段名称。

10、并发运行:当读取的文件内容非常大时,可设置此步骤的多个实例(步骤副本),同时勾选此控件,则每个实例同时读取CSV文件的单独部分,以提高效率。

11、字段中有回车换行?:如果文件中存在回车或换行。不勾选时,则会将回车或换行当作一行数据处理。勾选时,则会将回车或换行识别为一个字符串。

12、文件编码:下拉框选择需要的文件格式编码。

(1)字段名称:输入行集的字段名称

(2)字段类型:指定字段类型:字符串,日期,数字,布尔值,整数,BigNumber,可序列化或二进制

(3)格式:格式化字符串时需要。例如需要格式化日期与时间,那么可以用yyyy-MM-dd'T'HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。注:需与类型关联使用

(4)长度:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入4只会返回年份)

(5)精度:对于数字:小数位数

(6)货币符号:货币符号,主要用在财务场景,一般放在货币金额数字的前缀或者后缀。例如人民币一般用的¥,美元一般用$,欧元一般用€。该控件对于步骤本身不产生影响,只是对该字段的货币类型进行备注

(7)小数点符号:在字符型转小数型(BigNumber)时,识别字符串中的小数点。如字符串“123,456.789”和“123456.789”转BigNumber型时,设置十进制为“.”,则能转变为123456.789。有意思的是这里除了能识别“.”,还能适配其他字符,如“,”、“|”、“_”、甚至字母“a”都可以。只要字符被替换成“.”之后整个字符串是符合数字格式的就行。注意不管设置多长的字符串,这里始终只取第一个字符作为小数点符号

(8)分组符号:在字符型转小数型(BigNumber)时,识别字符串中的分隔符(常见的千位分隔符)。如字符串“6,123,456.789”转BigNumber型时,设置分组为“,”,则能转变为6123456.789。有意思的是这里除了能识别“,”,还能适配其他字符,如“.”、“|”、“_”、甚至字母“a”都可以。只要字符被转换后整个字符串是符合数字格式的就行。另外分组可以结合小数点符号做一些更有意思的事情,如有一个字符串如“123.456,789”,将小数点符号设为“,”,将分组设为“.”,可转换为“123,456.789”

(9)去除空格类型:下拉框根据需要选择去除空格的方式。

 

文章原创首发于:https://ckettle.ccsaii.com.cn/help/StepPluginType/CsvInput?s=****

更多CKettle内容,欢迎点击上述链接学习。