Ich suche nach einer schönen modernen C++ CSV-Bibliothek, hauptsächlich zum Parsen.
Erforderliche Funktionen:
Gewünschte Funktion:
Zwei Bibliotheken, die den Anforderungen und mehreren gewünschten Funktionen entsprechen:
Ich habe vor ein paar Tagen angefangen, sie zu testen, daher kann ich nicht alle Funktionen bestätigen, aber ich kann auf Details hinweisen, die meine Wahl bestimmen:
Rapidcsv ist das, was ich derzeit verwende, es ermöglicht das Laden von Daten als Vektoren, und Sie können Zeilenvektoren erhalten, das ist üblich, und Spaltenvektoren, das ist, wonach ich suche. Es hat zwei fehlende Funktionen, für die ich einen Fork gemacht und (sehr einfache) Verbesserungen vorgeschlagen habe: 1 Umgang mit dem Abrufen von Vektoren von nur Zeichenelementen wie std::vector (meine Daten bestehen aus räumlichen Zeitreihen, die mit SAX diskretisiert wurden, was zu a symbolische Klassierungswerte zum Beispiel von a bis z) und 2 haben Funktionen, die die Spalten- und Zeilenanzahl zurückgeben
CSVstream ruft Daten als Karte des Faktors ab, das ist gut für CSV, aber in meinem Fall sind Spaltennamen nicht wichtig und std:.map behält nicht die Reihenfolge der eingefügten Daten bei, und für meinen Fall muss ich die ursprüngliche Spaltenreihenfolge beibehalten weil Spaltenpositionen die räumliche Position darstellen - UPDATE: Es kann ein neues Feature sein: https://github.com/awdeorio/csvstream/issues/13#issuecomment-350701247
Fast C++ CSV Parser kann in meinem Fall nicht verwendet werden, da die Anzahl der Spalten zur Kompilierzeit bekannt sein muss
Diese Bewertung ist sehr anfänglich, die Baumbibliotheken erscheinen mir sehr gut, daher schlage ich vor, sie zu testen, um zu sehen, was Ihren Bedürfnissen am besten entspricht
einpoklum
campisano
campisano