我有一个看起来像这样的文本文件:
a,b,c,d
"string1","string2","string3","
"string4","string5","string6","
文件本身以逗号分隔,但每行以双引号结束(即不是逗号分隔符)。 readr::read_delim()
不理解行结尾,因此尝试将所有数据读入单行。
data.table::fread()
按预期导入,但我想找到readr
解决方案(如果存在)。
答案 0 :(得分:1)
在这种情况下,使用fread
似乎是最简单的选择。如果您不希望fread
返回data.table
,则可以使用data.table = FALSE
中的fread
参数。
一个例子:
fread("C:/data.txt", data.table = FALSE)
答案 1 :(得分:0)
这是一个冗长的方法,但肯定有一个更简约的解决方案:
readr::read_lines("C:/data.txt", skip = 1) %>%
tibble::as_tibble() %>%
tidyr::separate(value, into = c("a", "b", "c", "d"), sep = ",") %>%
mutate_at(.vars = vars(a:c),
.funs = stringr::str_replace_all,
pattern = "\"",
replacement = "")