跳到內容

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