检索fread使用的列分隔符

时间:2018-05-01 17:44:59

标签: r data.table delimiter delimited-text

# subprocess for i in range(n): array[i] = data[i] queue.put(array) # main process queue.get() 包中的

# subprocess for i in range(n): queue.put((i, data[i])) # main process for i in range(n): while queue.empty(): i, data = queue.get() array[i] = data 通常可以在读取文件时自动确定列分隔符(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 )?

1 个答案:

答案 0 :(得分:2)

正如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找到分隔符的说明实现自己的分隔符查找器:

  

默认为集合[,\t |;:]中存在的第一个字符   引用(autostart)区域之外的""