Estoy buscando una biblioteca C++ CSV agradable y moderna, principalmente para analizar.
Características requeridas:
Característica deseada:
Dos bibliotecas que se ajustan a los requisitos y varias de las características deseadas:
Empecé a probarlos hace unos días, por lo que no puedo confirmar todas las características, sin embargo, puedo señalar algunos detalles que están definiendo mi elección:
Rapidcsv es lo que estoy usando actualmente, permite cargar datos como vectores, y puede obtener vectores de fila, que es común, y vectores de columna, que es lo que estoy buscando. Tiene dos funciones faltantes por las que hice una bifurcación y propuse (muy simplemente) mejoras: 1 manejo de la recuperación de vectos de solo elementos de caracteres como std::vector (mis datos se componen de series de tiempo espacial discretizadas usando SAX, que da como resultado un valores de agrupamiento simbólicos, por ejemplo, de la a a la z), y 2 tienen funciones que devuelven los recuentos de columnas y filas
CSVstream recupera datos como un mapa de factor, eso es bueno para CSV pero en mi caso los nombres de columna no son importantes y std:.map no mantiene el orden de los datos insertados, y en mi caso necesito mantener el orden de columna original porque las posiciones de las columnas representan la posición espacial - ACTUALIZACIÓN: puede ser una característica nueva: https://github.com/awdeorio/csvstream/issues/13#issuecomment-350701247
Fast C ++ CSV Parser no se puede usar en mi caso porque la cantidad de columnas debe conocerse en el momento de la compilación
Esta evaluación es muy inicial, las bibliotecas de árboles me parecen muy buenas, por lo que sugiero probarlas para ver cuál se adapta mejor a sus necesidades.
einpoklum
campisano
campisano