CsvReadOptions, CsvParseOptions, CsvConvertOptions, JsonReadOptions, JsonParseOptions 和 TimestampParser 是各种文件读取选项的容器。请分别参见它们在 read_csv_arrow() 和 read_json_arrow() 中的用法。
工厂
CsvReadOptions$create() 和 JsonReadOptions$create() 工厂方法接受以下参数
use_threads是否使用全局 CPU 线程池block_size我们从 IO 层请求的块大小;当 use_threads 为TRUE时,也决定了块的大小。注意:如果为FALSE,JSON 输入必须以空行结束。
CsvReadOptions$create() 还接受以下附加参数
skip_rows读取数据前要跳过的行数(默认为 0)。column_names字符向量,用于提供列名。如果长度为 0(默认值),将解析第一个未跳过的行以生成列名,除非autogenerate_column_names为TRUE。autogenerate_column_names逻辑值:是否生成列名,而不是使用第一个未跳过的行(默认值)?如果为TRUE,列名将是 "f0", "f1", ..., "fN"。encoding文件编码。(默认为"UTF-8")skip_rows_after_names列名后要跳过的行数(默认为 0)。这个数字可以大于一个块中的行数,空行也算在内。应用顺序如下:应用
skip_rows(如果非零);读取列名(除非设置了
column_names);应用
skip_rows_after_names(如果非零)。
CsvParseOptions$create() 接受以下参数
delimiter字段分隔符(默认为",")quoting逻辑值:字符串是否加引号?(默认为TRUE)quote_char引号字符,如果quoting为TRUE(默认为'"')double_quote逻辑值:值内部的引号是否双重引用?(默认为TRUE)escaping逻辑值:是否使用转义字符(默认为FALSE)escape_char转义字符,如果escaping为TRUE(默认为"\\")newlines_in_values逻辑值:值是否允许包含回车符(0x0d)和换行符(0x0a)字符?(默认为FALSE)ignore_empty_lines逻辑值:是否应忽略空行(默认)或生成一行为缺失值(如果为FALSE)?
JsonParseOptions$create() 只接受 newlines_in_values 参数。
CsvConvertOptions$create() 接受以下参数
check_utf8逻辑值:是否检查字符串列的 UTF8 有效性?(默认为TRUE)null_values识别为空值的字符串向量。类似于read.csv()的na.strings参数或readr::read_csv()中的na。strings_can_be_null逻辑值:字符串/二进制列是否可以有空值?类似于readr::read_csv()的quoted_na参数。(默认为FALSE)true_values识别为TRUE值的字符串向量false_values识别为FALSE值的字符串向量col_types一个Schema或NULL以推断类型auto_dict_encode逻辑值:是否尝试自动将字符串/二进制数据字典编码(类似于stringsAsFactors)。默认为FALSE。此设置对于非推断列(col_types中的列)将被忽略。auto_dict_max_cardinality如果auto_dict_encode为真,字符串/二进制列将字典编码到这个唯一值数量(默认为 50),之后它会切换到常规编码。include_columns如果非空,指示 CSV 文件中应实际读取和转换的列名(按向量顺序)。include_missing_columns逻辑值:如果提供了include_columns,其中命名但在数据中未找到的列是否应作为类型为null()的列包含?默认值(FALSE)意味着读取器将改为引发错误。timestamp_parsers用户定义的时间戳解析器。如果指定了多个解析器,CSV 转换逻辑将尝试从该向量的开头开始解析值。可能的值为 (a)NULL,默认值,使用 ISO-8601 解析器;(b)strptime解析字符串的字符向量;或 (c) TimestampParser 对象的列表。decimal_point用于浮点数中小数点的字符。默认值:"."
TimestampParser$create() 接受一个可选的 format 字符串参数。请参阅 strptime() 了解示例语法。默认是使用 ISO-8601 格式解析器。
CsvWriteOptions$create() 工厂方法接受以下参数
include_header是否写入带有列名的初始标题行batch_size一次处理的最大行数。默认值为 1024。null_string要为空值写入的字符串。不能包含引号。默认为空字符串("")。eol用于结束行的行尾字符。delimiter字段分隔符quoting_style引用样式:“Needed”(只对需要引用的值加引号,因为它们的 CSV 渲染本身可能包含引号(例如字符串或二进制值))、“AllValid”(对所有有效值加引号),或“None”(不对任何值加引号)。