0Pricing
C++ Academy · Lección

Lectura y escritura de archivos CSV

Analice archivos CSV línea por línea y escriba los resultados de nuevo en el disco.

Lectura y escritura de archivos CSV es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué es CSV?

CSV (valores separados por comas) es un formato tabular de texto plano. Cada línea es una fila y las comas separan las columnas. Es sencillo, pero está lleno de casos especiales.

Cabeceras necesarias

Use fstream para los archivos y sstream para el análisis.

#include <fstream>
#include <sstream>
#include <string>
#include <vector>

Abrir un archivo para lectura

Construya un std::ifstream con la ruta del archivo. Compruebe que se haya abierto correctamente.

std::ifstream file("data.csv");
if (!file) {
    std::cerr << "Cannot open file\n";
    return 1;
}

Leer línea por línea

Use std::getline para recorrer las filas.

std::string line;
while (std::getline(file, line)) {
    process(line);
}

Separar una fila

Use un stringstream y getline con un delimitador para separar cada fila en campos.

std::vector<std::string> split(const std::string& line) {
    std::vector<std::string> fields;
    std::stringstream ss(line);
    std::string field;
    while (std::getline(ss, field, ',')) {
        fields.push_back(field);
    }
    return fields;
}

Omitir la cabecera

Lea y descarte la primera línea si contiene los nombres de las columnas.

std::string header;
std::getline(file, header);   // discard

Analizar campos tipados

Convierta los campos de texto en valores tipados con std::stoi o std::stod.

auto fields = split(line);
int id = std::stoi(fields[0]);
double price = std::stod(fields[2]);

Escribir CSV

Use std::ofstream para escribir. Envíe los valores al stream con << y añada comas y saltos de línea.

std::ofstream out("results.csv");
out << "name,score\n";
out << "Ada,95\n";
out << "Bob,82\n";

Entrecomillar campos con comas

Si un campo contiene una coma, escríbalo entre comillas dobles. Para incluir una comilla dentro del campo, duplíquela.

std::string escape(const std::string& s) {
    if (s.find_first_of(",\"\n") == std::string::npos) return s;
    std::string r = "\"";
    for (char c : s) {
        if (c == '"') r += '"';
        r += c;
    }
    return r + "\"";
}

Gestionar saltos de línea en los campos

Los campos entrecomillados pueden abarcar varias líneas físicas. Un lector CSV robusto mantiene el estado de las comillas entre llamadas a getline. Para casos sencillos, limítese a campos sin varias líneas.

Cerrar el archivo

Los streams de archivo se cierran automáticamente al destruirse (RAII). Para cerrarlo explícitamente, use file.close(); solo es necesario si quiere reutilizar el stream.

Cuándo usar una biblioteca

Para archivos CSV complejos (comas entrecomilladas, valores multilínea o codificación), use una biblioteca como rapidcsv o csv-parser. Implemente su propio analizador únicamente para formatos sencillos y controlados.

Comprobación rápida

¿Qué técnica permite separar una línea por comas usando solo la biblioteca estándar?

Resumen

Lea CSV con std::ifstream + std::getline, separe las filas con un stringstream y un delimitador de coma, y analice los campos tipados con std::stoi/stod. Use una biblioteca especializada para CSV complejos.

Preguntas frecuentes

¿La lección «Lectura y escritura de archivos CSV» es gratis?

Sí — el texto completo de «Lectura y escritura de archivos CSV» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Lectura y escritura de archivos CSV»?

Analice archivos CSV línea por línea y escriba los resultados de nuevo en el disco. Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C++ Academy?

No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Lectura y escritura de archivos CSV»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C++ Academy?

Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Construcción de una calculadora CLI sencilla
  2. Lectura y escritura de archivos CSV
  3. Un juego de adivinar números
  4. Un contador de frecuencia de palabras
← Volver a C++ Academy