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