Importing "csv" file with multiple-character separator to R?
csv, r, read.table
Solution
The following code will be able to handle multiple separator chars:
#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))
}
Problem
I have a "csv" text file where each field is separated by `\t&%$#` which I'm now trying to import into R. The `sep=` argument of `read.table()`instists on a single character. Is there a quick way to directly import this file? Some of the data fields are user-submitted text which contain tabs, quotes, and other messy stuff, so changing the delimiter to something simpler seems like it could create other problems.