/KBCsv

KBCsv is an efficient, easy to use .NET parsing and writing library for the CSV (comma-separated values) format.

Primary LanguageC#MIT LicenseMIT

Logo

KBCsv

Build status

What?

KBCsv is an efficient, easy to use .NET parsing and writing library for the CSV (comma-separated values) format.

Why?

CSV is a common data format that developers need to work with, and .NET does not include intrinsic support for it. Implementing an efficient, standards-compliant CSV parser is not a trivial task, so using KBCsv avoids the need for developers to do so.

Where?

The easiest way to get KBCsv is to install via NuGet:

Install-Package KBCsv

Or, if you want the extensions:

Install-Package KBCsv.Extensions

Data-specific extensions are available as a separate package for .NET 4.5 (the other packages above are portable):

Install-Package KBCsv.Extensions.Data

How?

using (var streamReader = new StreamReader("data.csv"))
using (var csvReader = new CsvReader(streamReader))
{
    csvReader.ReadHeaderRecord();

    while (csvReader.HasMoreRecords)
    {
        var record = csvReader.ReadDataRecord();
        var name = record["Name"];
        var age = record["Age"];
    }
}

Please see the documentation for more details.

Who?

KBCsv is created and maintained by Kent Boogaart. Issues and pull requests are welcome.

Primary Features

  • Very easy to use
  • Very efficient
  • Separate extension libraries to provide additional (but optional) features such as working with System.Data types
  • Portable Class Library targetting netstandard 1.0
  • Full async support
  • Includes extensive documentation and examples in both C# and VB.NET
  • Conforms to the official CSV standard, RFC4180
  • Also conforms to pseudo-standards, such as this
  • Highly customizable, such as specifying non-standard value separators and delimiters
  • Very high test coverage