# 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
)?
答案 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
)区域之外的""
行