第3章 转换步骤
3.1文本文件输入
【功能描述】
可通过此步骤读取大量不同的文本文件,可指定读取的文件列表,或者用正则表达式表示的目录列表。
【操作步骤或操作内容】
功能1:文件名称指定
- 指定文件名后,并按“增加”按钮,你可以添加一个文件到“选择文件”中,如下所示:
- 你也可以用指定正则表达式通配符的形式来搜索文件。正则表达式比简单的用“?”和“*” 通配符更有效。
文件名 | 正则 | 选择的文件 |
/dirA/ | .*userdata.*/.txt | 所有在/dirA/目录下的并且文件名包含userdata、以txt为后缀的文件。 |
/dirB/ | AAA.* | 所有在/dirB/目录下的并且文件名以AAA 开头的文件。 |
/dirC/ | [A-Z][0-9].* | 所有在/dirC/目录下的并且文件名以字母开头、紧接着一个数字的文件。 |
功能2:内容指定
- 内容标签允许你指定正在读取的文本文件的格式:
- 下面是标签的选项列表:
选项 | 描述 |
文件类型 | 可以是CSV 或者Fixed length(固定长度)。 |
分隔符 | 在文本的单行中,一个或多个字符将被用来分隔字段, 比较有代表性的是;或者一个tab 制表符。 |
封闭字符 | 一些字段能够被一对允许分隔的字符来封闭。封闭字符 串是可选的。 |
逃逸字符 | 如果你的数据中有逃逸字符,就指定逃逸字符(或者逃 逸字符串)。如果\作为逃逸字符,文本’Not the nine o\’clock news.’(’作为封闭字符),将被解析成Not the nine o’clock news. |
头部/头部行数量 | 如果你的文本文件有头部行就使用这个。你可以指定头 部行出现的次数。 |
尾部/尾部行数量 | 如果你的文本文件有尾部行就使用这个。你可以指定尾 部行出现的次数。 |
包装行/包装行数量 | 利用这个来处理被某些页限制包装的数据行。注:头部 和尾部从来不考虑被包装。 |
分页布局/每页行数/文档头部行 | 在行打印机上打印的时候,你可以用这个选项作为最终 的手段。用头部行的数量来跳过介绍性的文本,用每页 的行数来定位数据行。 |
压缩 | 如果你的文件是ZIP 文件或者GZIP 归档文件,就启用 这个。注:此刻归档文件中仅仅第一个文件被读取。 |
没有空行 | 不往下一步发送空行。 |
输出包含文件名 | 如果你想文件名作为输出的一部分,可以启用这个。 |
文件名字段名称 | 包含文件名的字段名称。 |
输出行数 | 如果你想行数作为输出的一部分,可以启用这个。 |
行数字段名称 | 包含行数的字段名称。 |
根据文件获取行数 | 允许每个文件重置的行数。 |
格式 | 可以是DOS、UNIX 或者混合模式。UNIX 行终止可以是 回车,DOS 中可以是回车或者换行。如果你选择混合模 式,将不会验证。 |
编码方式 | 指定文本文件编码方式。如果不设置就使用系统默认的 编码方式。如果想用Unicode,可以指定UTF-8 或者 UTF-16。第一次使用的时候,Spoon 将搜索系统,寻找 可用的编码。 |
记录数量限制 | 设置读取记录的行数。0 代表读取所有的。 |
解析日期时是否严格要求 | 如果你想严格的解析数据字段,可以禁用这个选项。如 果启用的时候,Jan 32nd 将变成Feb 1st。 |
本地日期格式 | 在本地日期常常被解析为“February wnd,2006”的形 式,在用法语本地化的系统中日期将不会被解析,因为 在法语本地化中February 不能理解。 |
功能3:错误处理
- 当错误发生的时候,错误处理标签允许你指定这个步骤将重新做些什么。
- 下面是标签的选项列表
选项 | 描述 |
忽略错误 | 如果在解析的时候忽略错误,就指定这个选项。 |
跳过错误行 | 使用这个选项来跳过那些出现错误的行。你可以生成另外的文件来包含发生错误的行号。如果不跳过错误行,解析错误字段将是空的。 |
错误计数字段 | 在输出流行中增加一个字段,这个字段将包含错误发生的行数。 |
错误字段字段名 | 在输出流行中增加一个字段,这个字段将包含错误发生的字段名称。 |
错误文本字段名 | 在输出流行中增加一个字段,这个字段将包含解析错误发生字段的描述。 |
警告文件目录 | 当警告发生的时候,它们将被放进这个目录。文件名将是<警告目录>/文件名.<日期时间>.<警告文件扩展>。 |
错误文件目录 | 当错误发生的时候,它们将被放进这个目录。文件名将是<错误文件目录>/文件名.<日期时间>.<错误文件扩展>。 |
失败行数文件目录 | 当解析行的时候发生错误,行号将被放到这个目录。文件名将是<错误行目录>/文件名.<日期时间>.<错误行扩展>。 |
功能4:过滤
- 在“过滤”标签中,你可以指定文本文件中要过滤的行。
- 下面是标签的选项列表。
选项 | 描述 |
过滤字符 | 搜索字符串。 |
过滤位置 | 在行中过滤字符串必须存在的位置。0 是起始位置,如果你指定一个小于0 的值,过滤器将搜索整个字符。 |
停止在过滤器 | 如果你想在文本文件遇到过滤字符的时候,停止处理,就指定Y。 |
功能5:字段
- 设定要导入的字段。
- 选项。
选项 | 描述。 |
名称 | 设置要在输出流中显示的字段名称。 |
类型 | 字段类型(String、Date、Number 等)。 |
长度 | 对于Number:有效数的数量。 对于String:字符的长度。 对于Date:打印输出字符的长度(例如4 代表返回年份)。 |
精度 | 对于Number:浮点数的数量。 对于String,Date,Boolean:未使用。 |
货币类型 | 用来解释如$10,000.00 的数字。 |
小数 | 小数点可以是”.”(10;000.00)或者”,”(5.000,00)。 |
分组 | 分组可以是”.”(10;000.00)或者”,”(5.000,00)。 |
如果为空 | 空值如何处理。 |
默认 | 字段为空的时候的默认值。 |
去空字符串 | 处理之前先去空。 |
重复 | Y/N:如果在当前行中对应的值为空,则重复最后一次不为空的值。 |