【发布时间】:2016-03-29 15:06:17
【问题描述】:
我的 CSV 文件存在一些问题。
--不匹配的引号
--那些不匹配的引号内的逗号。
这让读取数据变得像噩梦一样。
我读过 reading badly formed csv in R - mismatched quotes
在使用中读取我的文件
rawData = read.csv(curFile, stringsAsFactors=FALSE, header=TRUE, quote="")
这里建议:R Programming: "More Columns than Column Names"
我认为这是因为引号不匹配,但使用 read.csv(quote="") 仍然会给我这个错误。删除 quote="" 允许我读取文件(列数不超过列名错误),但它仍然读取不正确。
"@realdonaldtrump","870440000","870442502","Louis Tonelli","L00byLou26","364","292","",0,0,"Wed Mar 23 03:03:18 +0000 2016","RT @realDonaldTrump: Incompetent Hillary, despite the horrible attack in Brussels today, wants borders to be weak and open-and let the Musl&","7.1247e+17","712474777378820097","<a href=""http://twitter.com/download/iphone"" rel=""nofollow"">Twitter for iPhone</a>",NA,NA,NA,NA,NA,"7.1247e+17","712473816614772736","Wed Mar 23 02:59:29 +0000 2016","Donald J. Trump","realDonaldTrump","New York, NY","7259400","41","<a href=""http://twitter.com/download/android"" rel=""nofollow"">Twitter for Android</a>"
Phone</a>"
"@realdonaldtrump","4831200000","4831194209","Chris Mattingly","_chrismattingly","605","194","Missouri, USA",0,0,"Wed Mar 23 03:03:18 +0000 2016","@realDonaldTrump <- Favorite buffoonish reply: ""Be careful, or [insert stock threat]"". How's the ""libel"" suit going? https://twitter.com","7.1247e+17","712474777064181761","<a href=""http://twitter.com/#!/download/ipad"" rel=""nofollow"">Twitter for iPad</a>",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA
"@realdonaldtrump","4799600000","4799556991","Leann Rehm Lawrence","rehm_leann","101","295","",0,0,"Tue Mar 22 21:24:15 +0000 2016","RT @TrumpDynastyUSA: KINDRED SPIRITSBrought to TEARS.
LOVE & HONOR the ""Apple of G-D's EYE!""
Deuteronomy 32:9-10
@ElianaBenador @realDona&","7.1239e+17","712389451679342593","<a href=""http://twitter.com/download/android"" rel=""nofollow"">Twitter for Android</a>",NA,NA,NA,NA,NA,"7.1238e+17","712384968836718593","Tue Mar 22 21:06:26 +0000 2016","Lionhearted1","TrumpDynastyUSA","United States","5153","5140","<a href=""http://twitter.com"" rel=""nofollow"">Twitter Web Client</a>"
由于我无法控制的原因,这就是数据在文件中的显示方式。
我应该在这里“阅读”的是 3 行/观察。
以“@realdonaldtrump”开头的每一行都是一个新的观察结果。
如果有任何东西落在它下面,它应该是它上面观察的一部分,但是有嵌入的\n或\r。不过,这无关紧要,因为它是以逗号分隔的。
但是,当逗号介于两者之间时,这确实会导致问题。
第“2”行很容易看到不匹配的引号问题
【问题讨论】:
-
一次性数据集,还是您可能一遍又一遍地收到格式错误的数据?
-
另外,您是否尝试过将字符串按
","拆分(然后删除第一个和最后一个") -
不,我会试一试!而且它可能会再次发生,我有大约 2000 个文件,这从一开始就发生了。
-
如果它们都以相同的方式错误格式化,那么我将使用一些简单的 perl 脚本预处理数据(或参见 Mekki 的回答以了解使用
fread)