awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
JoshClose avatar

JoshClose/CsvHelper

0
View on GitHub↗
5,202 stars·1,104 forks·C#·15 viewsjoshclose.github.io/CsvHelper↗

CsvHelper

CsvHelper is a library for reading and writing comma-separated value files by mapping data to custom class objects. It functions as a parsing library and data mapper that converts flat-file text into structured data objects and serializes internal data sets back into standard CSV files.

The project emphasizes memory efficiency through a parser that optimizes resource consumption. It utilizes field value caching and an interned string cache to store repetitive values, which reduces memory overhead when processing large datasets.

The library provides a configuration-driven parsing engine that supports various delimiters and escape characters. It manages the relationship between CSV columns and class properties using attribute-based mapping and reflection-based object instantiation. Processing is handled via stream-based sequential parsing to manage high-volume files without loading the entire dataset into memory.

Features

  • CSV Parsing - Provides a robust engine for parsing comma-separated values into structured data according to standard specifications.
  • Stream-Based Parsing - Processes large files record-by-record using a streaming approach to minimize memory overhead.
  • CSV Data Exports - Transforms internal application data and class objects into standard CSV files for external export.
  • CSV Data Mappers - Provides a system for linking CSV columns to application properties using configurable attributes.
  • CSV File Processing - Converts comma-separated value files into custom class objects or raw data for application use.
  • Configurable CSV Parsing - Allows precise control over field delimiters, escape sequences, and header handling through a configuration object.
  • CSV Class Exporters - Converts internal data sets and class objects into standard CSV files for external storage.
  • Attribute-Based Mappings - Provides automated mapping between CSV columns and class properties using declarative metadata attributes.
  • Reflection-Based Population - Uses runtime reflection to automatically populate class properties with data from CSV columns.
  • CSV Data Mapping - Links tabular CSV columns to application class properties through configurable mapping rules.
  • Memory-Optimized Parsers - Optimizes memory consumption by caching repetitive field values during large file processing.
  • Field Value Caching - Stores frequently occurring field values during parsing to lower memory consumption and increase processing speed.
  • Object-Relational Mapping - Maps CSV columns to specific class properties to handle diverse and complex file structures.
  • String Interning Deserializers - Implements a string interning cache to reuse identical field values and reduce memory consumption during parsing.
  • Strongly Typed Projections - Uses generic type parameters to ensure raw CSV string values are projected into strongly typed class objects.
  • Large Dataset Optimizations - Employs memory optimization techniques to handle high-volume CSV files efficiently.
  • General Utilities - Library for reading and writing CSV files.
  • Serialization - CSV reading and writing library.

Star history

Star history chart for joshclose/csvhelperStar history chart for joshclose/csvhelper

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does joshclose/csvhelper do?

CsvHelper is a library for reading and writing comma-separated value files by mapping data to custom class objects. It functions as a parsing library and data mapper that converts flat-file text into structured data objects and serializes internal data sets back into standard CSV files.

What are the main features of joshclose/csvhelper?

The main features of joshclose/csvhelper are: CSV Parsing, Stream-Based Parsing, CSV Data Exports, CSV Data Mappers, CSV File Processing, Configurable CSV Parsing, CSV Class Exporters, Attribute-Based Mappings.

What are some open-source alternatives to joshclose/csvhelper?

Open-source alternatives to joshclose/csvhelper include: gam-team/gam — GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments… exceldatareader/exceldatareader — ExcelDataReader is a C# library used to extract data and metadata from Microsoft Excel spreadsheets and CSV files. It… praeclarum/sqlite-net — sqlite-net is a lightweight object-relational mapper and data access layer for SQLite. It provides tools for… tuguangquan/mybatis — This project is a mirrored version of the MyBatis persistence framework source code, presented as a Java database… mgravell/protobuf-net — protobuf-net is a binary serialization framework and .NET library that implements the Protocol Buffers specification.… xianhu/learnpython — LearnPython is a programming tutorial consisting of a collection of practical code examples used to demonstrate Python…

Open-source alternatives to CsvHelper

Similar open-source projects, ranked by how many features they share with CsvHelper.
  • gam-team/gamGAM-team avatar

    GAM-team/GAM

    4,206View on GitHub↗

    GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments into structured API calls, enabling administrators to manage users, groups, organizational units, and domain settings across a Google Workspace environment. The tool handles authentication through OAuth2 flows, service accounts, and workload identity federation, and supports multi-tenant configurations for managing multiple domains or cloud projects from a single installation. GAM distinguishes itself through its batch processing and automation capabilities. It can process la

    Pythongamgooglegoogle-admin-sdk
    View on GitHub↗4,206
  • exceldatareader/exceldatareaderExcelDataReader avatar

    ExcelDataReader/ExcelDataReader

    4,387View on GitHub↗

    ExcelDataReader is a C# library used to extract data and metadata from Microsoft Excel spreadsheets and CSV files. It functions as a workbook parser that converts spreadsheet content into structured data sets for programmatic access and iteration. The project includes a specialized metadata extractor for retrieving cell-level details, such as number formats, styles, row heights, column widths, and merged cell ranges. It also provides a stream processor for parsing plain text CSV files with customizable encoding and separator detection. The library supports the OpenXML standard for modern spr

    C#csharpdotnetexcel
    View on GitHub↗4,387
  • praeclarum/sqlite-netpraeclarum avatar

    praeclarum/sqlite-net

    4,444View on GitHub↗

    sqlite-net is a lightweight object-relational mapper and data access layer for SQLite. It provides tools for translating application classes into database tables, managing records through an entity mapper, and implementing local data persistence. The library includes an encrypted wrapper that secures database files using connection keys and native encryption configurations. It also features a data access layer that supports both synchronous and asynchronous operations to maintain application responsiveness during disk access. The project covers a range of database management capabilities, in

    C#
    View on GitHub↗4,444
  • tuguangquan/mybatistuguangquan avatar

    tuguangquan/mybatis

    4,764View on GitHub↗

    This project is a mirrored version of the MyBatis persistence framework source code, presented as a Java database integration library and SQL mapper framework. Its primary purpose is to provide a codebase featuring detailed Chinese language annotations to facilitate the study of the framework's internal architecture and design patterns. The repository focuses on Java source code analysis and framework learning. It allows users to examine the underlying implementation of the library to understand how complex software components are structured and executed. The core functionality covered inclu

    Java
    View on GitHub↗4,764
  • See all 30 alternatives to CsvHelper→