CsvReadOptions
、CsvParseOptions
、CsvConvertOptions
、JsonReadOptions
、JsonParseOptions
和 TimestampParser
是各種檔案讀取選項的容器。請參閱它們在 read_csv_arrow()
和 read_json_arrow()
中的用法。
工廠方法
CsvReadOptions$create()
和 JsonReadOptions$create()
工廠方法接受以下參數
use_threads
是否使用全域 CPU 執行緒池block_size
我們從 IO 層請求的區塊大小;也決定了當 use_threads 為TRUE
時區塊的大小。注意:如果為FALSE
,JSON 輸入必須以空行結尾。
CsvReadOptions$create()
還接受以下額外參數
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
(如果非零)。
CsvParseOptions$create()
接受以下參數
delimiter
欄位分隔字元 (預設值為","
)quoting
邏輯值:字串是否用引號括起來? (預設值為TRUE
)quote_char
引號字元,如果quoting
為TRUE
(預設值為'"'
)double_quote
邏輯值:值內部的引號是否使用雙引號? (預設值為TRUE
)escaping
邏輯值:是否使用跳脫字元? (預設值為FALSE
)escape_char
跳脫字元,如果escaping
為TRUE
(預設值為"\\"
)newlines_in_values
邏輯值:值是否允許包含 CR (0x0d
) 和 LF (0x0a
) 字元? (預設值為FALSE
)ignore_empty_lines
邏輯值:是否應忽略空行 (預設值) 或產生一列缺失值 (如果為FALSE
)?
JsonParseOptions$create()
僅接受 newlines_in_values
參數。
CsvConvertOptions$create()
接受以下參數
check_utf8
邏輯值:檢查字串欄位的 UTF8 有效性? (預設值為TRUE
)null_values
識別空值的拼寫方式的字元向量。類似於read.csv()
的na.strings
參數或readr::read_csv()
中的na
。strings_can_be_null
邏輯值:字串/二進制欄位可以有空值嗎?類似於readr::read_csv()
的quoted_na
參數。(預設值為FALSE
)true_values
識別TRUE
值的拼寫方式的字元向量false_values
識別FALSE
值的拼寫方式的字元向量col_types
一個Schema
或NULL
以推斷類型auto_dict_encode
邏輯值:是否嘗試自動字典編碼字串/二進制資料 (類似stringsAsFactors
)。預設值為FALSE
。此設定對於非推斷的欄位 (col_types
中的欄位) 會被忽略。auto_dict_max_cardinality
如果auto_dict_encode
,字串/二進制欄位會字典編碼到此唯一值數量 (預設值為 50),之後會切換到常規編碼。include_columns
如果非空,則指示應實際讀取和轉換的 CSV 檔案中的欄位名稱 (依向量順序)。include_missing_columns
邏輯值:如果提供了include_columns
,是否應將其中命名但未在資料中找到的欄位作為null()
類型的欄位包含在內?預設值 (FALSE
) 表示讀取器將改為引發錯誤。timestamp_parsers
使用者定義的時間戳記剖析器。如果指定多個剖析器,CSV 轉換邏輯將嘗試從此向量的開頭開始剖析值。可能的值包括 (a)NULL
(預設值),它使用 ISO-8601 剖析器;(b) strptime 剖析字串的字元向量;或 (c) TimestampParser 物件的清單。decimal_point
用於浮點數中小數點的字元。預設值:"."
TimestampParser$create()
接受選用的 format
字串參數。請參閱 strptime()
以取得範例語法。預設值是使用 ISO-8601 格式剖析器。
CsvWriteOptions$create()
工廠方法接受以下參數
include_header
是否寫入包含欄位名稱的初始標頭行batch_size
一次處理的最大行數。預設值為 1024。null_string
要為空值寫入的字串。不得包含引號。預設值為空字串 (""
)。eol
用於結束行的行尾字元。delimiter
欄位分隔符quoting_style
引號樣式:"Needed" (僅將需要引號的值括在引號中,因為它們的 CSV 呈現方式本身可能包含引號 (例如字串或二進制值))、"AllValid" (將所有有效值括在引號中) 或 "None" (不將任何值括在引號中)。