我有一些txt和csv文件。
我必须阅读那种行分隔符。如果它是\n
或\r\n
,我需要知道
有没有让我这样做的功能?
我尝试使用scan
函数没有结果。
答案 0 :(得分:1)
您可以通过file
使用system
:
例如:
system('file myfile.txt')
这将返回一个字符串,如:
myfile.txt: ASCII text, with CRLF line terminators
您可以自动迭代文件,并使用以下结果从结果中提取相关文本:
gsub('.*with | line terminators', '',
sapply(ff, function(f) system(paste('file', f), intern=TRUE)))
其中ff
是文件名的向量。
例如:
write.table(matrix(1:9, 3), f1 <- tempfile(fileext='.txt'))
write.table(matrix(1:9, 3), f2 <- tempfile(fileext='.txt'))
write.table(matrix(1:9, 3), f3 <- tempfile(fileext='.txt'))
ff <- c(f1, f2, f3)
gsub('.*with | line terminators', '',
sapply(ff, function(f) system(paste('file', f), intern=TRUE)))
## C:\\Users\\John\\AppData\\Local\\Temp\\RtmpUpmgXM\\file2ba07a471a01.txt
"CRLF"
## C:\\Users\\John\\AppData\\Local\\Temp\\RtmpUpmgXM\\file2ba01ce5433.txt
"CRLF"
## C:\\Users\\John\\AppData\\Local\\Temp\\RtmpUpmgXM\\file2ba0427a4b5e.txt
"CRLF"
答案 1 :(得分:0)