跳过内容

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

识别为空值的字符串字符向量。类似于 read.csv() 中的 na.strings 参数或 readr::read_csv() 中的 na

true_values

识别为 TRUE 值的字符串字符向量

false_values

识别为 FALSE 值的字符串字符向量

strings_can_be_null

逻辑值:字符串/二进制列是否可以有空值?类似于 readr::read_csv() 中的 quoted_na 参数

col_types

一个 SchemaNULL,用于推断类型

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