CSV(逗号分隔值)读取器参数
数据集参数
该参数允许您选择不同的命名方案,以及为阅读器生成的特性类型的数量。
功能类型名称选择:
- 从文件名称(s):为每个源文件名生成一个特性类型。
- 从格式名称:只生成一个包含格式名称的功能部件类型。
字段
指定为值之间分隔符的单个字符。
包含字段名的行号。注意,文件中的第一行被认为是第1行。如果文件不包含字段名,则留空。
当文件不包含字段名时,CSV表的列将使用默认名称(例如,col0、col1、…colN)。
数据开始的行号。注意,文件中的第一行被认为是第1行。
先进的
如果选择,则将多个连续分隔符视为单个分隔符;否则,每个分隔符都被视为分隔了不同的字段。
指定包含字段值的字符。当字段以该字符开始时,所有紧跟该字符并在该字符下一次出现之前的文本将被视为一个值,即使该文本包含分隔符或换行字符。
例如,如果分隔符是逗号(,),字段限定符是引号("),那么值
“温哥华BC”
将被视为一个值
温哥华公元前
而不是两个单独的值
温哥华
公元前
指定转义字段限定符字符的字符。当希望在字段限定符组中包含字段限定符文字时,可以使用此方法。
例如,如果字段限定符字符是引号("),转义字符是反斜杠(\),那么值
“温哥华\”Lotusland \”, BC”
将被解读为
温哥华“Lotusland BC
字段名称
指定字段名应以区分大小写或不区分大小写的方式与模式匹配。
例如,假设模式包含属性“MyField”,而文件包含字段“MyField”。如果字段名区分大小写,则认为它们不匹配,属性“MyField”将不被读取。另一方面,如果字段名不区分大小写,则认为它们是匹配的,并且将为属性“myfield”读取“myfield”列中的值。
指定是否强制执行严格模式。
- 如果将此参数设置为是的而且文件中的字段与FME模式中的属性不匹配,读取器将失败。
- 如果将此参数设置为没有时,读取器将警告模式上存在但在文件中不存在的任何属性,并将继续读取。
字段值
指定是否从值中修剪字段限定符字符。注意,只有当这些字符用作字段限定词时,它们才会被裁剪(也就是说,值中的第一个字符是这个字符,直到该字符的下一个实例为止)。
例如,如果字段限定符是引号("),那么值
《温哥华,BC》和《More》
将被解读为
温哥华,BC省和“More”
编码
如果您使用的是外国(非英语)字符集,则可以使用此参数。如果源数据包含外部字符,则使用此参数和编码值可确保原始数据从读取者保留到写入者。
默认情况下,如果源文件中存在字节顺序标记(Byte Order Mark, BOM),则从源文件自动检测字符编码。否则,所有的输入字符串都将在系统编码中进行编码。如果您选择任何其他字符编码,它将优先于自动检测到的字符编码。
注意,只有UTF编码是使用BOM标识的——所有其他字符集必须被显式标识,否则它们将被作为系统编码读取。
FME支持大多数编码。
指定是否在文件编码中设置字符串属性。
- 是的:字符串属性总是在文件的编码中。
- 没有:字符串属性可能在文件编码中,但也可能在Unicode编码中。将此参数设置为No可以在读取编码文件时提高性能。
跳过行
指定是否从数据开始行之前的文件中读取行。(注意:字段名的行永远不会作为特性读取。)
如果设置为是的,阅读器将为这些行生成特性,其中为属性csv_skipped_line设置为该行的内容。
如果文件的前几行字段结构代表文件的其余部分,则可以设置此选项,以防止FME在确定模式时不必要地从可能很大的文件中读取更多行。
如果留空,则没有限制,所有行都将被读取。
注意:" >注意:此设置仅适用于模式生成;它不限制在运行翻译时读取的行数。
指定在扫描模式时是否尝试确定属性类型。
- 没有:所有属性都将被视为字符串。
- 是的:FME将尝试为每个属性确定正确的类型(例如,int32、real64等)。
使用适当类型的属性可以提高读取和处理性能。但是,如果属性值对被扫描的类型无效(例如,因为扫描模式时没有包含该值),则将其设置为null。
在扫描类型时,FME还会尝试将字段自动映射到坐标(例如,一个名为的字段)x会给一个类型吗x_coordinate)。
指定是否扫描字段名行中找到的字段之外的其他字段。
- 是的:FME将尝试查找字段名行中不包含的其他字段。
- 没有:假定字段名行包含文件中的所有字段。
当文件不包含字段名时,此选项无效。
预览
显示输入CSV数据集的预览,如用当前选项读取。
属性
显示数据集的架构,读取当前选项:
读 | 的名字 | 类型 |
---|---|---|
是否将此字段作为属性读取。 | 属性的名称。 | 属性的类型。 |