2016-03-29 20 views
1

私はいくつかの問題があるCSVファイルを持っています。これらの不一致引用符でR - フォーマットが不適切なデータ - 不一致の引用、CSVファイル

--Commasを引用--Mismatched

悪夢の中でデータを読み上げようとしています。

私はここで示唆したように

rawData = read.csv(curFile, stringsAsFactors=FALSE, header=TRUE, quote="") 

を使用しての私のファイルを読む reading badly formed csv in R - mismatched quotes

を読んだ: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 &lt;- 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 &amp; 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が埋め込まれています。しかし、カンマ区切りのように、それは問題ではありません。

ただし、カンマが間に入ると問題が発生します。

不一致は問題がpackage data.table'sfread(See page 31 of help file)てみ

+0

ワンオフデータセット、または何度も誤ってフォーマットされている可能性があるものはありますか? – rbm

+1

また、文字列を ''、 "'で分割してみましたか?(そして最初と最後の '' 'を取り除いてみましたか?) – rbm

+0

いいえ、私はこれを撃つつもりです!そして再び起こる可能性があります。 – Jibril

答えて

2

"2" の行を参照することは容易である引用しています。これは、複数行の比較を自動的に実行して、記述した方法で一致しない引用符とカンマを識別しようとします。それは完璧ではありませんが、read.csvよりはるかにうまくいく傾向があります。

これは特定の行範囲での読み取りもサポートしています。したがって、いくつかの試行錯誤では、いたずら行を識別できる場合は、最初の行をスキップしてfreadとし、あまりにも多くの。

PERLまたはPHPを使用してデータを前処理することが不十分で、読まれる前に不一致の見積もりを特定して修正することは、おそらくRからの最善の策です。

関連する問題