检索 fread 使用的列分隔符
Retrieve the column separator used by fread
fread
来自 data.table
包通常可以在读取文件时自动确定列分隔符 (sep
)。
例如,此处 fread
自动检测 |
作为列分隔符:
library(data.table)
fread(paste(c("A|1", "B|2", "C|3"), collapse = "\n"))
# V1 V2
# 1: A 1
# 2: B 2
# 3: C 3
但是我如何才能检索最终被 fread
(此处为 |
)使用的列分隔符?
正如 Henrik 提到的,如果选择 verbose = TRUE
,此信息将打印到控制台。您可以使用
捕获有关分隔符的打印信息
library(magrittr)
example <- paste(c("A|1", "B|2", "C|3"), collapse = "\n")
capture.output(fread(example, verbose = TRUE) %>% {NULL}) %>%
.[grepl('Detecting sep', .)]
#[1] "Detecting sep ... '|'"
您也可以根据 fread
如何找到定界符的描述来实现自己的定界符查找器:
Defaults to the first character in the set [,\t |;:]
that exists on
line autostart
outside quoted (""
) regions
fread
来自 data.table
包通常可以在读取文件时自动确定列分隔符 (sep
)。
例如,此处 fread
自动检测 |
作为列分隔符:
library(data.table)
fread(paste(c("A|1", "B|2", "C|3"), collapse = "\n"))
# V1 V2
# 1: A 1
# 2: B 2
# 3: C 3
但是我如何才能检索最终被 fread
(此处为 |
)使用的列分隔符?
正如 Henrik 提到的,如果选择 verbose = TRUE
,此信息将打印到控制台。您可以使用
library(magrittr)
example <- paste(c("A|1", "B|2", "C|3"), collapse = "\n")
capture.output(fread(example, verbose = TRUE) %>% {NULL}) %>%
.[grepl('Detecting sep', .)]
#[1] "Detecting sep ... '|'"
您也可以根据 fread
如何找到定界符的描述来实现自己的定界符查找器:
Defaults to the first character in the set
[,\t |;:]
that exists on lineautostart
outside quoted (""
) regions