Consider the following comma separated file. For simplicity let it contain one line:
'I am quoted','so, can use comma inside - it is not separator here','but can\'t use escaped quote :=('
If you try to read it with the command
table <- read.csv(filename, header=FALSE)
the line will be separated to 4 parts, because line contains 3 commas. In fact I want to read only 3 parts, one of which contains comma itself. There quote flag comes for help. I tried:
table <- read.csv(filename, header=FALSE, quote="'")
but that falls with error "incomplete final line found by readTableHeader on table"
. That happens because of odd (seven) number of quotes.
read.table()
as well as scan()
have parameter allowEscapes
, but setting it to TRUE
doesn't help. It is ok, cause from help(scan)
you can read:
The escapes which are interpreted are the control characters ‘\a, \b, \f, \n, \r, \t, \v’, ... ... Any other escaped character is treated as itself, including backslash
Please suggest how would you read such quoted csv-files, containing escaped \'
quotes.
read.csv()
: this isn't a CSV file, there aren't multiple columns, it's all just a block of text, albeit with quotes. Are you saying rows are separate or not, why not just usereadLines(...,n=1)
? You must mean it's multiline text containing escaped quotes. – Kicksorter\"
but read.table can't interpret these. Why write them in that format as default if R can't read it?! – Hairbrush