cpp

Leer CSV con C++

En este artículo de programación en C++ (también conocido como CPP) te enseñaré a leer y parsear un archivo CSV (valores separados por coma) para leer todo su contenido, sin usar librerías externas.

Para ello vamos a necesitar leer el archivo línea por línea y luego separar cada línea según el delimitador. Todo esto lo vamos a hacer con C++ y funciones nativas.

Algoritmo

Analicemos primero lo que tenemos que hacer. Vamos a leer un CSV con C++ así que primero necesitamos abrir el archivo y leerlo línea por línea, ya que en cada línea hay un nuevo conjunto de valores.

En este caso vamos a omitir la primera línea, pues normalmente ella tiene el encabezado; pero una vez que la hemos leído procedemos a leer las demás hasta el final del archivo en un ciclo.

Dentro de este ciclo vamos a separar la cadena (línea) según el delimitador, que en este caso es la coma. Y después de eso ya podemos extraer cada valor en una variable aparte y hacer cualquier cosa con ella como imprimirla o escribirla en otro archivo.

El archivo CSV

Para este ejemplo voy a usar un CSV que ha exportado un sistema de ventas gratis que publiqué hace algún tiempo, mismo que se ve así:

See the gist on github.

Si quieres puedes verlo en su versión raw aquí. Como puedes ver, contamos con 4 filas y en cada una de ellas existen 7 columnas.

Es importante que el CSV tenga una estructura definida y consistente. Ahora veamos el código.

Nota: vamos a leer el archivo y vamos a tratar todos los datos como cadena. Ya después tú puedes convertirlos a double, int, etcétera.

Leer CSV con C++

Leer y extraer valores de CSV con C++

Ahora sí veamos el código. Primero abrimos el archivo y lo leemos:

See the gist on github.

Dentro del ciclo tendremos la línea, y es momento de separarla para almacenar sus valores. Como bien dice arriba, el delimitador es la coma. Entonces hacemos lo siguiente:

See the gist on github.

Como puedes ver, la extracción de los valores está desde la línea 4 hasta la línea 10, leemos de la línea y colocamos cada valor dentro de cada variable. Recuerda que debe ser en el mismo orden que tienen las columnas dentro del archivo CSV.

El código completo queda así:

See the gist on github.

Así es como se usa C++ para leer un CSV. Si gustas puedes probar el código en línea dentro de este enlace. También te invito a que leas más sobre Programación C++ / CPP en mi blog.

Si no te ha quedado claro, puedes repasar con un vídeo:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

23 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.