Reputation: 7784
> fread('col1,col2\n')
Empty data.table (0 rows) of 2 cols: col1,col2
> fread('col1,col2\n5,4')
col1 col2
1: 5 4
> fread('col1,col2\n5,"4\n3"')
Error in fread("col1,col2\n5,\"4\n3\"") :
Unbalanced quote (") observed on this line: 3"
>
read.csv can import this csv as long as the value that spans multiple lines is wrapped in quotes.
Should fread be able to import it as well? Using read.csv is actually fine for my use case. I can just convert the resulting data frame into a data table. But I just wanted to make sure that not having this functionality was a design decision, and not something that just wasn't yet tested.
Upvotes: 4
Views: 1743
Reputation: 59602
UPDATE: Now fixed in v1.9.3 on GitHub :
- fread() now accepts line breaks inside quoted fields. Thanks to Clayton Stanley for highlighting.
This error has been reported before and it's on the list to do. But what's new here is the \n inside the quotes. I hadn't realised that was a use case giving rise to the error.
Many thanks for reporting. It'll be fixed.
Similar question but not exactly the same here :
data.table::fread and Unbalanced "
and the bug report is here :
https://r-forge.r-project.org/tracker/?group_id=240&atid=975&func=detail&aid=2694
Upvotes: 5