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_names
为TRUE
。- 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