KBCsv is an efficient, easy to use .NET parsing and writing library for the CSV (comma-separated values) format.
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.
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
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.
KBCsv is created and maintained by Kent Boogaart. Issues and pull requests are welcome.
- 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