Beispiel Einlesen der CSV Datei mit dem aktuellen apache commons csv-Bibliothek
Kann jemand bitte geben Sie mir ein Beispiel für das Lesen einer CSV-Datei mit dem Apache commons CSVParser-Klasse? Ich sehe unzählige Beispiele, dass die veralteten (glaube ich) - API wurde nicht gefunden.
Überall, wo ich schaue, sehe ich dieses:
File csvData = new File("/path/to/csv");
CSVParser parser = CSVParser.parse(csvData, CSVFormat.RFC4180);
for (CSVRecord csvRecord : parser) {
...
}
Aber nirgendwo finde ich eine jar-Datei, hat eine CSVParser.parse() Methode nimmt die Parameter. Die eine, die dauert ein File-Objekt ist, ist auch ein Charset-parameter nach. Überall sehe ich die API beschreiben, die buchstäblich scheint nicht zu existieren. Ich vermute, es war eine pre-1.0-API, die Sie entfernt werden, sobald 1.0 veröffentlicht wurde. Ich habe versucht, 1.0, 1.1. und 1.2 in meine pom-Datei Abhängigkeit, aber Sie alle haben die Methode mit den Charset-parameter.
- Gehen Sie hier: commons.apache.org/proper/commons-csv/download_csv.cgi und laden Sie die Apache Commons CSV-Source-Code: commons-csv-1.2-src.zip Und während Sie auf der web-Seite Blick auf die JavaDoc für 1.2.
- Das ist wahrscheinlich der erste Ort, den ich sah. Keine der Versionen gibt es einen parse () - Methode mit Datei-und CSVFormat Parameter. Es ist verrückt denn auch die frickin' Dokumentation IN DER QUELLCODE-DATEI zeigt Beispiele für die Verwendung dieses mythische Methode, ohne Charset-parameter.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich landete genau dies zu tun:
Bläst noch meine Meinung, dass alle Artikel und offiziellen apache-Dokumentation zeigt Beispiele für die Verwendung einer Methode, die nicht zu existieren scheinen.
Ganz ehrlich, ich könnte nur einen Verweis mit CSVParser() die Weise, die Sie gezeigt haben, dass in deinem Beispiel-code und das war in einigen kleinen blog irgendwo. Ich glaube, dass es der Fehler ist, aber es würde nicht Schaden zu Fragen, den Autor zu klären. Ich nehme an, Sie habe versucht, den code ohne Erfolg und daher ist es irgendwie legt sich ein Grabstein, auf die Möglichkeit, dass es ist in der Tat ein Beispiel für die Verwendung der CSVParser.parser() Methode. Ich habe nie versuchen, das Beispiel daher kann ich nicht machen, ein wahres Urteil über es so oder so, ich kann nur sagen, eine Meinung.
Mich persönlich, für das, was es nimmt, um zu analysieren, eine CSV-Datei, die ich schaffen würde, meine eigene Methode, aber wenn Sie darauf bestehen, mit der Apache Commons CSVParser (die ist gut getestet und bewährt-code), verwenden Sie das FilerReader version des CSVParser.parser() Methode.
Wenn die CSV-Datei, die Sie versuchen zu analysieren, ist ein standard-Trennzeichen getrennt (RFC4180) können Sie einfach ein BufferReader zusammen mit der String.split() Methode zum analysieren der Daten in jeder Datei Zeile, so etwas wie das, was gezeigt wird in dieser voll Java lauffähig. Hinweis: die readCSV() Methode:
Format der eingehenden Zeichenfolge von Daten, wie Sie sehen, passen in der readCSV() Methode. Eine einfache CSV-text-Datei mit dem Namen MyCSVFile.csv - enthalten würde, so etwas wie:
Wo die erste Zeile der Datei wäre natürlich die Daten-Header .