问题描述
我有数百个文本分隔文件。在某些列中,行结尾之前的换行符出现在随机列中。尝试读取时,它会寻找正确的列数,但因为它会拆分到下一行。
arg fill=T
无济于事,因为它会创建不正确的空列。
如果我有
"Aa|Bb|C\nc\ntwo|three|four"
但实际上应该是两行乘三列:
"Aa|Bb|Cc\ntwo|three|four"
解决方法
请注意,字符串中包含C\nc
,该字符串将c
引入到新行。我想您首先需要确保输入字符串的格式,否则很难通过后处理进行修复。
我不确定下面的代码是否是您想要的。您是说使用read.csv
吗?
read.csv(text = sub("\n","",s),sep = "|",header = FALSE)
给出
V1 V2 V3
1 Aa Bb Cc
2 two three four
如果您使用的是data.table
,则可以尝试fread
(感谢@akrun)
fread(sub("\n",s))
数据
s <- "Aa|Bb|C\nc\ntwo|three|four"