跳过内容

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