CSV Input/CSV 文件输入介绍
CSV 文件输入步骤主要用于将 CSV 格式的文本文件按照一定的格式输入至
流中
- Step name:步骤的名称,在单一转换中,名称必须唯一
- Filename:指定输入 CSV 文件的名称,或通过单击右边的“浏览”按钮指定本地的 CSV 文件
- Delimiter:指定分隔列的符号,一般 csv 文本文件默认的是逗号。如图 所示,里面的逗号就是列分隔符
- Enclosure:指定一个数据的封装符号,一般 csv 文本文件默认的是双引号。如图上图所示,双引号就是封闭符
- NIO buffer size:指定读取缓冲区的大小,即一次从源读取的字节数。如果读取的字节数超过设置的缓冲区大小,则会报错
- Lazy conversion?:如勾选,则针对行集中的 String 类型,将按照二进制字节流的形式(如果读者有 Java 语言开发背景,可以理解为 byte[]),从数据源读取数据,性能比直接读取字符串略高。所以,这里翻译为“允许以字节流的形式读取字符串”更为准确。从实际测试情况看,该参数针对非常长的字符串能够提速 3%左右;对于一般长度的字符串,观测不到差别
- Header row present?:如勾选,则会把字段名称作为一行数据显示
- Add filename to result:勾选此项,可把转换的结果文件名存进流中,使其可以在其它步骤中被获取
- The row number field name(optional):为每行数据添加行号,并指定行号的字段名称
- Running in parallel?:当读取的文件内容非常大时,可设置此步骤的多个实例(步骤副本),同时勾选此控件,则每个实例同时读取 CSV 文件的单独部分,以提高效率
- New line possible in fields?:如果文件中存在回车或换行。不勾选时,则会将回车或换行当作一行数据处理。勾选时,则会将回车或换行识别为一个字符串
- File encoding:下拉框选择需要的文件格式编码
- name:输入行集的字段名称
- Type:指定字段类型:字符串,日期,数字,布尔值,整数,BigNumber,可序列化或二进制
- Format:格式化字符串时需要。例如需要格式化日期与时间,那么可以用 yyyy-MM-dd’T’HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。注:需与类型关联使用
- Length:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入 4 只会返回年份)
- Precision:对于数字:小数位数
- Currency:货币符号,主要用在财务场景,一般放在货币金额数字的前缀或者后缀。例如人民币一般用的¥,美元一般用$,欧元一般用€。该控件对于步骤本身不产生影响,只是对该字段的货币类型进行备注
- Decimal:在字符型转小数型(BigNumber)时,识别字符串中的小数点。如字“123,456.789”和“123456.789”转 BigNumber 型时,设置十进制为“.”,则能转变为 123456.789。有意思的是这里除了能识别“.”,还能适配其他字符,如“,”、“|”、“_”、甚至字母“a”都可以。只要字符被替换成“.”之后整个字符串是符合数字格式的就行。注意不管设置多长的字符串,这里始终只取第一个字符作为小数点符号
- Group:在字符型转小数型(BigNumber)时,识别字符串中的分隔符(常见的千位分隔符)。如字符串“6,123,456.789”转 BigNumber 型时,设置分组为“,”,则能转变为 6123456.789。有意思的是这里除了能识别“,”,还能适配其他字符,如“.”、“|”、“_”、甚至字母“a”都可以。只要字符被转换后整个字符串是符合数字格式的就行。另外分组可以结合小数点符号做一些更有意思的事情,如有一个字符串如“123.456,789”,将小数点符号设为“,”,将分组设为“.”,可转换“123,456.789”
- Trim Type:下拉框根据需要选择去除空格的方式。