私はInputStreamを使用しましたが、解析時にある列に","
がある場合は、それを別の列と見なします。 ex - abc, xyz, "m,n"
構文解析された出力はabc , xyz, m, n
ここでmとnは別々の列と見なされます。Javaでいくつかのパーサを使用して、低メモリでcsvを解析するにはどうすればよいですか?
答えて
私は本当にApache Commonsが好きですCSVParser。これはユーザーガイドとほぼ同じです:
これはシンプルで構成可能で、行指向です。
あなたはこのようにそれを設定することができます:レコードの
final CSVParser parser = new CSVParser(reader, CSVFormat.DEFAULT.withHeader().withDelimiter(';'));
、この構成では、あなたはそれがしたい正確な方法CSVFormat.DEFAULT
作品として、不要です。
これは、メモリに収まるかどうかを確認する私の最初の試みです。そうでない場合は、メモリー占有量が少ないということについてもう少し詳しく説明できますか?
返信ありがとうございました CSVParserはファイル全体を問題のメモリにロードします。 ファイルサイズが1GBの場合、すでにメモリ消費量は約1GBです。 – somey
@somey CSVParserは、すべてをメモリに読み込むことと、レコードを読み込むことの両方を行うことができます。 https://commons.apache.org/proper/commons-csv/apidocs/index.html –
@someyどうすれば解析できますか?コードのその部分は、あまりにもメモリに物事を読み取ることができます。あなたはそれをどうやって見せてもらえますか? また、 'jvisualvm'を接続して、その多くのメモリを正確に消費するものを見ることができます。たぶんgcが必要ですか? –
があり、多くのサードパーティのCSVの構文解析ライブラリ
のような私はUniVocity csvパーサを使用しています。これは非常に高速で、行内の区切り文字を自動的に検出します。与えられたcsvライブラリの上を通過できます。
- 1. DOMを使用してCSVファイルを正しく解析するにはどうすればよいですか?
- 2. Javaを使用して大きなXMLファイルを解析するにはどうすればよいですか?
- 3. Javaを使用して2つのcsvファイルを比較するにはどうすればよいですか?
- 4. BASHでAWKとfprintを使用してテキストファイルを解析するにはどうすればよいですか?
- 5. AndroidでSAX Parserを使用してxmlを解析するにはどうすればよいですか?
- 6. Cでメモリを解放するにはどうすればよいですか?
- 7. htmlを使用してhtmlの断片を解析するにはどうすればよいですか?
- 8. NSStringを使用してこの文字列を解析するにはどうすればよいですか?
- 9. getopt_longを使用して複数の引数を解析するにはどうすればよいですか?
- 10. Nokogiriを使用してこのHTMLを解析するにはどうすればよいですか?
- 11. Django admin - save_related()を使用してインラインフォームのデータを解析するにはどうすればよいですか?
- 12. WordPressのXMLフィードをJQueryを使用して解析するにはどうすればよいですか?
- 13. java sparkを使用してcsvファイルを提供するにはどうすればよいですか?
- 14. Visual Studio 2010でプログラムのメモリ使用量を分析するにはどうすればよいですか?
- 15. iPhoneでXMLを解析するにはどうすればよいですか?
- 16. アクションスクリプトでJSONを解析するにはどうすればよいですか?
- 17. GsonでGeoJsonを解析するにはどうすればよいですか?
- 18. クライアントサイドスクリプトでhtmlを解析するにはどうすればよいですか?
- 19. PHPでXMLを解析するにはどうすればよいですか?
- 20. RailsでHTMLを解析するにはどうすればよいですか?
- 21. PowerBIのcsvからタグを解析するにはどうすればよいですか?
- 22. NLTKを使用して解析ツリーを生成するにはどうすればよいですか?
- 23. Crypto ++を使用してZIPファイルを解析するにはどうすればよいですか?
- 24. Volleyを使用してJSONリクエストを解析するにはどうすればよいですか?
- 25. getJSONを使用してJSONを解析するにはどうすればよいですか。
- 26. Perlを使用してTwitter XMLを解析するにはどうすればよいですか?
- 27. C#を使用してテキストファイルを解析するにはどうすればよいですか?
- 28. MailKitを使用してhtmlメッセージ本文を解析するにはどうすればよいですか?
- 29. DOMを使用して複雑なXMLファイルを解析するにはどうすればよいですか?
- 30. Pythonを使用して動的ページを解析するにはどうすればよいですか?
[java.io.StreamTokenizer](https://docs.oracle.com/javase/8/docs/api/java/io/StreamTokenizer.html)の可能性があります。または[JFlex](http://jflex.de)のようなスキャナジェネレータ。あなたはCSVファイルの文法のためにそれらを設定する方法を知る必要があります。彼らは「すぐに使える」ソリューションではありません。 –
ファイルのデータ構造とは何ですか?解析後の結果はどうしたらよいですか?どのくらいのメモリを消費することができますか? –
CSVを解析するためのメモリはあまり必要ありません。あなたが記憶を必要とするのは、それをすべて保存することです。解決策:しないでください。一度に1行ずつ処理します。 – EJP