A quick and easy tool to use and process 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"]
}
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