\t&%$#
Rにインポートしようとしている各フィールドが区切られた「csv」テキストファイルがあります。
のsep=
引数はread.table()
、1 つの文字を主張します。このファイルを直接インポートする簡単な方法はありますか?
一部のデータ フィールドは、ユーザーが送信したテキストであり、タブ、引用符、およびその他の厄介なものが含まれているため、区切り記号をより単純なものに変更すると、別の問題が発生する可能性があるようです。
\t&%$#
Rにインポートしようとしている各フィールドが区切られた「csv」テキストファイルがあります。
のsep=
引数はread.table()
、1 つの文字を主張します。このファイルを直接インポートする簡単な方法はありますか?
一部のデータ フィールドは、ユーザーが送信したテキストであり、タブ、引用符、およびその他の厄介なものが含まれているため、区切り記号をより単純なものに変更すると、別の問題が発生する可能性があるようです。
次のコードは、複数の区切り文字を処理できます。
#fileName <- file name with fully qualified path
#separators <- each of them separated by '|'
read <- function(fileName, separators) {
data <- readLines(con <- file(fileName))
close(con)
records <- sapply(data, strsplit, split=separators)
dataFrame <- data.frame(t(sapply(records,c)))
rownames(dataFrame) <- 1: nrow(dataFrame)
return(as.data.frame(dataFrame,stringsAsFactors = FALSE))
}
この投稿で説明されているように、R では文字列の解析に頼らないと不可能です。別の言語 (Awk、Perl、Python など) でファイルを事前解析するか、行ごとに読み取り、結果の文字列を R で解析することができます。