無効な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. CSVで値を読み取る方法
- 3. リモートCSVをノードJSで読み取る
- 4. csvデータをnumpyで読み取る
- 5. シェルスクリプトでcsvファイルから読み取る
- 6. データフローでCSVヘッダーを読み取る
- 7. filehelpersエラーでcsvファイルを読み取る
- 8. Tensorflow 1.2.0でCSVファイルを読み取る
- 9. C#でCSVファイルを読み取る
- 10. PHPがcsvファイルを効果的に読み取る
- 11. ドットネットコアでクッキーの有効期限を読み取る方法は?
- 12. スパーク読み取りCSVリアルパス
- 13. Spark - csv読み取りオプション
- 14. Python:効率的な.csvファイルの読み込み方法
- 15. コアデータは読み取り専用データにも有効ですか?
- 16. NVDA連続読み取りを有効にするVBコード
- 17. 配列にcsvファイルを読み取る
- 18. csvを読み取るデータフレームのエラー
- 19. Csvファイルからデータを読み取る
- 20. ファイルからCSVデータを読み取る
- 21. csvから読み取るネットワークドライブVBS
- 22. CSVファイルからデータを読み取る
- 23. RAMからCSVファイルを読み取る
- 24. CSVからデータを読み取る
- 25. CSVファイルの内容を読み取る
- 26. Cで巨大なCSVファイルを読み取る
- 27. "無効な読み取り構文:)"
- 28. Valgrind無効なサイズの読み取り
- 29. jwtトークンからの有効期限の読み取り
- 30. CSVファイルを読み取るとリストインデックスが範囲外になる
矛盾した列があると 'fread'が失敗します。あなたは最小の例を持っていますか? – alistaire