A header-only C++11 CSV parser library with easy-to-use API for reading and writing CSV files.
Rapidcsv is a C++ library for parsing and manipulating CSV (Comma-Separated Values) files. It provides an easy-to-use API for reading and writing CSV data, supporting various data types, custom separators, and flexible header configurations. The library solves the problem of handling CSV files in C++ projects with minimal dependencies and a straightforward interface.
C++ developers who need to read or write CSV files in their applications, particularly those working with data processing, analytics, or file I/O tasks.
Developers choose Rapidcsv for its simplicity, header-only design, and ease of integration. It offers a clean API without the complexity of larger parsing libraries, making it ideal for projects that require lightweight CSV handling with support for modern C++ standards.
C++ CSV parser library
Single-file inclusion eliminates separate compilation, making integration trivial—just copy rapidcsv.h to your project as per the installation guide.
Supports column headers, row headers, both, or none via LabelParams, enabling versatile data access patterns as shown in the multiple examples.
Allows global or per-call overrides for any data type, with examples for custom structs and fixed-point numbers, enhancing integration flexibility.
Optional locale-independent numeric parsing via ConverterParams ensures consistent float handling across systems, avoiding regional formatting issues.
Loads entire CSV into memory, lacking true streaming support for large files, which can be inefficient for datasets exceeding available RAM.
Throws exceptions on invalid numeric data by default, requiring explicit ConverterParams configuration for graceful fallbacks, which adds complexity.
Missing support for multi-line quoted cells or complex escaping rules beyond basic auto-quote removal, as noted in the handling of quoted cells section.
Extremely fast, in memory, serialization, reflection, and RPC library for C++. JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, EETF
fast-cpp-csv-parser
A modern C++ CSV parser and serializer that doesn't make you choose between ease of use or performance.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.