C++:
Werken met CSV

Hoe te:

Hier is een stuk code dat een CSV-bestand leest en de inhoud ervan afdrukt.

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

int main() {
    std::string regel, cel;
    std::vector<std::vector<std::string>> csvGegevens;
    std::ifstream bestand("voorbeeld.csv");

    while (std::getline(bestand, regel)) {
        std::stringstream regelStroom(regel);
        std::vector<std::string> rijGegevens;
        
        while (std::getline(regelStroom, cel, ',')) {
            rijGegevens.push_back(cel);
        }
        csvGegevens.push_back(rijGegevens);
    }
    
    for (const auto& rij : csvGegevens) {
        for (const auto& kol : rij) {
            std::cout << kol << " ";  // Afhankelijk van je CSV-structuur, pas de scheidingslijn aan.
        }
        std::cout << std::endl;
    }
    return 0;
}

Voorbeelduitvoer voor een CSV die namen en leeftijden bevat:

John 25
Jane 28

Diepgaand

CSV bestaat sinds het begin van de jaren 70. Het is het standaardformaat voor eenvoudige data-export en -import, maar is niet geweldig voor complexe hiërarchische gegevens, die door XML en JSON beter worden afgehandeld. C++ heeft geen ingebouwde ondersteuning voor CSV, maar het omgaan met bestanden en strings is eenvoudig. Je houdt je bezig met standaard I/O en stringmanipulatie, terwijl je uitkijkt voor speciale gevallen zoals aanhalingstekens en komma’s binnen cellen. Bibliotheken zoals libcsv en Boost.Tokenizer kunnen taken vereenvoudigen als je met meer complexe CSV-bestanden te maken hebt.

Zie Ook