Aşağıdaki virgülle ayrılmış dosyayı göz önünde bulundurun. Satır 3 içerdiğinden, komutKaçınılan tırnak işaretleri içeren alıntılanan metin nasıl okunmalı
table <- read.csv(filename, header=FALSE)
satır 4 bölümlerine ayrılacaktır ile okumaya çalışırsanız
'I am quoted','so, can use comma inside - it is not separator here','but can\'t use escaped quote :=('
: Kolaylık olması açısından bu bir satır içerir let virgül. Aslında, sadece virgülün kendisini içeren 3 parçayı okumak istiyorum. Orada yardım için bayrak geliyor. Denedim:
table <- read.csv(filename, header=FALSE, quote="'")
ama bu hata "incomplete final line found by readTableHeader on table"
ile düşer. Bu garip (yedi) alıntı sayısı nedeniyle olur.
read.table()
scan()
parametreyi
allowEscapes
var, ama
TRUE
ayarlayarak yardımcı olmuyor. Bu ok,
help(scan)
gelen nedeni okuyabilir:
yorumlanır kaçar kontrol karakterleri '\ a \ b \ f \ n \ r \ t, \ V' in, ... ... başka, karakter ters eğik çizgi
böyle alıntı cSV dosyalarını okumak nasıl önermek Lütfen dahil kendisi olarak kabul edilir kaçan \'
tırnak kaçmış içermeyenler.
tt <- readLines("F:/temp/test.txt")
tt <- gsub("([^\\]|^)'","\\1\"",tt) # replace ' by "
tt <- gsub("\\\\","\\",tt) # get rid of the double escape due to readLines
Bu, bir kullanmada vektör tt okumanızı sağlar:
Ne yapmaya çalıştığını anlıyorum ama neden read.csv() kullandığınızı kafam karıştı: Bu bir CSV dosyası değil, birden fazla sütun yok, sadece bir metin bloğu. tırnak. Satırların ayrı mı, yoksa olmadığını mı söylüyorsunuz, neden sadece 'readLines (..., n = 1)' yi kullanmıyorsunuz? Kaçınılmış tırnak işaretleri içeren çok satırlı bir metin olması gerekir. – smci