昨天读取csv文件又双叒叕失败了
问题描述
- 本来不同行的数据诡异的读到一个数据格子(姑且这么说吧)里了
- 数据内部的逗号被当成换行符处理了
2016/09/13更新
今天看到一个帖子朴素贝叶斯算法和R语言,用单引号”’”替换csv里的双引号’”’之后再用read.csv函数就不会出错了。。。。所以后面的内容不用看了。。。。。。
方案搜索
随便搜了下发现很多人都遇到过这个问题,但是没见到靠谱的方案
- 这篇文章从CSV文件中读取数据,使用逗号’,’分割问题 用正则表达式处理java中的csv文件读取。但是read.csv的
sep
参数貌似不支持直接套正则表达式。我用的read.csv('data//sms_spam.csv',stringsAsFactors = FALSE, sep = ',(?=([^\\"]*\\"[^\\"]*\\")*[^\\"]*$)')
,应该没写错表达式,但是报错invalid 'sep' value: must be one byte
。 - 之前也有碰到过类似问题&