跳转至内容

CsvReadOptionsCsvParseOptionsCsvConvertOptionsJsonReadOptionsJsonParseOptionsTimestampParser 是各种文件读取选项的容器。请分别在 read_csv_arrow()read_json_arrow() 中查看它们的使用方法。

工厂方法

CsvReadOptions$create()JsonReadOptions$create() 工厂方法接受以下参数

  • use_threads 是否使用全局 CPU 线程池

  • block_size 我们从 IO 层请求的块大小;也决定了当 use_threadsTRUE 时的块大小。注意:如果为 FALSE,JSON 输入必须以空行结尾。

CsvReadOptions$create() 还接受以下附加参数

  • skip_rows 读取数据前要跳过的行数(默认为 0)。

  • column_names 字符向量,用于提供列名。如果长度为 0(默认值),则将解析第一个未跳过的行以生成列名,除非 autogenerate_column_namesTRUE

  • 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 如果 quotingTRUE,则为引号字符(默认为 '"'

  • double_quote 逻辑值:值内的引号是否双引号?(默认为 TRUE

  • escaping 逻辑值:是否使用转义(默认为 FALSE

  • escape_char 如果 escapingTRUE,则为转义字符(默认为 "\\"

  • newlines_in_values 逻辑值:值是否允许包含 CR (0x0d) 和 LF (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 一个 SchemaNULL 用于推断类型

  • 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"(不将任何值括在引号中)。

活动绑定

  • column_names:来自 CsvReadOptions