無効なcsvで失敗するcsvでdata.table/freadを使用する方法はありますか?例えば3の代わりに5つのフィールドを持ついくつかの行を持つ3Gのcsvファイルです。そうでない場合は、合理的にそれを検証する別の方法がありますか?data.table:有効なcsvで読み取る
2
A
答えて
0
@ alistaireのコメントは、私がライブラリの古いバージョンを使用していることを暗示していました。バージョン1.8.10は文句なしでcsvファイルを読み込みますが、バージョン1.9.6には、エラーで失敗します。
Error in fread("~/bad.csv") :
Expecting 3 cols, but line 929579 contains text after processing all cols
...
私はこの機能を持っていることは本当にうれしいです!
0
通常通りそれを読んだ後、フィールドの数をチェックして有効かどうかを調べます。その後、あなたは仕事をすることができます。
3
奇数ファイルの処理時にfread
より少し良くなっています。必要な列を指定し、インポート時に他の列を破棄する必要があります。たとえば:
library(readr)
input <- read_csv(file = file.path,
col_names = c("date", "time", "data"),
col_types = cols_only(
date = col_character(),
time = col_character(),
data = col_character()
),
trim_ws = TRUE
)
注:readr
意志出力3列は「期待される」が、より多くだったことを伝えるための警告は、特定の行に「発見」されたが、それは失敗しません。 select
パラメータを追加して必要な列数だけを指定する場合でも、通常はfread
がこれに失敗します。
+0
'fread'は開発版の' fill'パラメータで拡張されています。 'TRUE'に設定すると、それは空の斑点を埋めるでしょう。 – Jaap
関連する問題
- 1. 巨大なCSVファイルのデータを効率的に読み取る
- 2. C#でCSVファイルを読み取る
- 3. シェルスクリプトでcsvファイルから読み取る
- 4. filehelpersエラーでcsvファイルを読み取る
- 5. CSVで値を読み取る方法
- 6. データフローでCSVヘッダーを読み取る
- 7. PHPがcsvファイルを効果的に読み取る
- 8. スパーク読み取りCSVリアルパス
- 9. ドットネットコアでクッキーの有効期限を読み取る方法は?
- 10. Python:効率的な.csvファイルの読み込み方法
- 11. コアデータは読み取り専用データにも有効ですか?
- 12. Csvファイルからデータを読み取る
- 13. ファイルからCSVデータを読み取る
- 14. csvを読み取るデータフレームのエラー
- 15. csvから読み取るネットワークドライブVBS
- 16. CSVファイルの内容を読み取る
- 17. Cで巨大なCSVファイルを読み取る
- 18. Valgrind無効なサイズの読み取り
- 19. "無効な読み取り構文:)"
- 20. jwtトークンからの有効期限の読み取り
- 21. スパーク読み取りCSVファイルにClassCastException
- 22. 読み取りエラーのcsvファイルunicodeescape
- 23. CSVファイルを読み取る。特別な文字の問題
- 24. PHPは大きなCSVファイルの一部を読み取る
- 25. 特別な改行を含むCSVファイルを読み取る
- 26. ウェブページの読み込み時にサーバー側のcsvファイルを読み取る方法
- 27. R bigmemoryは大きなCSVファイルを読み取らない
- 28. 通帳エラーをアップデートする - 有効でないためパスを読み取ることができない
- 29. InfoPath 2010の読み取り専用ビューでコントロールを有効にする
- 30. Gitピアツーピア共有 - 致命的:読み取りエラー:無効な引数
矛盾した列があると 'fread'が失敗します。あなたは最小の例を持っていますか? – alistaire