相关疑难解决方法(0)

阅读R中错误形成的csv - 不匹配的引号

我有数百个大型CSV文件(大小从10k行到100k行各不相同),其中一些格式错误,引号都在引号内,所以它们可能看起来像

ID,Description,x
3434,"abc"def",988
2344,"fred",3484
2345,"fr""ed",3485
2346,"joe,fred",3486
Run Code Online (Sandbox Code Playgroud)

我需要能够干净地将R中的所有这些行解析为CSV.dput()'和'阅读...

txt <- c("ID,Description,x",
    "3434,\"abc\"def\",988",
    "2344,\"fred\",3484", 
    "2345,\"fr\"\"ed\",3485",
    "2346,\"joe,fred\",3486")

read.csv(text=txt[1:4], colClasses='character')
    Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
      incomplete final line found by readTableHeader on 'text'
Run Code Online (Sandbox Code Playgroud)

如果我们更改引号并且不包含嵌入逗号的最后一行 - 它运行良好

read.csv(text=txt[1:4], colClasses='character', quote='')
Run Code Online (Sandbox Code Playgroud)

但是,如果我们更改引号并包含嵌入逗号的最后一行...

read.csv(text=txt[1:5], colClasses='character', quote='')
    Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
      line 1 did not have 4 elements
Run Code Online (Sandbox Code Playgroud)

编辑x2:应该说不幸的是有些描述中有逗号 - 代码在上面进行了编辑.

csv parsing r

3
推荐指数
1
解决办法
1250
查看次数

标签 统计

csv ×1

parsing ×1

r ×1