CSV 转换选项
用法
csv_convert_options(
check_utf8 = TRUE,
null_values = c("", "NA"),
true_values = c("T", "true", "TRUE"),
false_values = c("F", "false", "FALSE"),
strings_can_be_null = FALSE,
col_types = NULL,
auto_dict_encode = FALSE,
auto_dict_max_cardinality = 50L,
include_columns = character(),
include_missing_columns = FALSE,
timestamp_parsers = NULL,
decimal_point = "."
)
参数
- check_utf8
逻辑值:检查字符串列的 UTF8 有效性?
- null_values
字符向量,表示识别为 null 值的拼写。类似于
read.csv()
的na.strings
参数或readr::read_csv()
中的na
。- true_values
字符向量,表示识别为
TRUE
值的拼写- false_values
字符向量,表示识别为
FALSE
值的拼写- strings_can_be_null
逻辑值:字符串/二进制列可以有 null 值吗?类似于
readr::read_csv()
的quoted_na
参数- col_types
一个
Schema
或NULL
用于推断类型- auto_dict_encode
逻辑值:是否尝试自动对字符串/二进制数据进行字典编码(类似于
stringsAsFactors
)。此设置对非推断列(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
用于浮点数的小数点字符。
示例
tf <- tempfile()
on.exit(unlink(tf))
writeLines("x\n1\nNULL\n2\nNA", tf)
read_csv_arrow(tf, convert_options = csv_convert_options(null_values = c("", "NA", "NULL")))
#> # A tibble: 4 x 1
#> x
#> <int>
#> 1 1
#> 2 NA
#> 3 2
#> 4 NA
open_csv_dataset(tf, convert_options = csv_convert_options(null_values = c("", "NA", "NULL")))
#> FileSystemDataset with 1 csv file
#> 1 columns
#> x: int64