跳至内容

CSV 读取选项

用法

csv_read_options(
  use_threads = option_use_threads(),
  block_size = 1048576L,
  skip_rows = 0L,
  column_names = character(0),
  autogenerate_column_names = FALSE,
  encoding = "UTF-8",
  skip_rows_after_names = 0L
)

参数

use_threads

是否使用全局 CPU 线程池

block_size

我们从 IO 层请求的块大小;当 use_threads 为 TRUE 时,它也决定了块的大小。

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(如果非零)。

示例

tf <- tempfile()
on.exit(unlink(tf))
writeLines("my file has a non-data header\nx\n1\n2", tf)
read_csv_arrow(tf, read_options = csv_read_options(skip_rows = 1))
#> # A tibble: 2 x 1
#>       x
#>   <int>
#> 1     1
#> 2     2
open_csv_dataset(tf, read_options = csv_read_options(skip_rows = 1))
#> FileSystemDataset with 1 csv file
#> 1 columns
#> x: int64