Rhyous.EasyCsv

A library to make creating and reading csv easy as well as serializing and deserializing to and from csv.


Keywords
pretty, serialization, xml
License
Other
Install
Install-Package Rhyous.EasyCsv -Version 1.3.0

Documentation

EasyCsv

A quick and easy tool to use and process Csv files.

Parsing Csv files.

EasyCsv has two class for creating a CSV and both implement the ICsv interface.

NaiveCsv.cs - Simple and doesn't handle a lot of problems. New line characters always start a new Csv row. It does naive Csv parsing. Csv.cs - Makes the effort to try to handle data problems in the csv. New line characters might be part of a Csv column value. It use CsvParser.cs by default and supports passing in your own custom ICsvParser.

Example:

bool hasHeaderRow = true;
var csv = new Csv(file, hasHeaderRow);
foreach (var row in csv.Rows)
{
   var column1 = row[0];// If your CsvHas headers, you can use it: row["SomeHeader"]
}

CsvSerialization

The class CsvSerializer.cs implements the ICsvSerializer interface. It supports serializing and object to Csv and deserializing and object from Csv.

Have a look at the unit tests for examples on how to Serialize and Deserialize. CsvSerializer.Deserialize.Tests.cs CsvSerializer.Serialize.Tests.cs