CSV Serializer & Deserializer for C#
Csv.Csharp
is available on NuGet
PM> Install-Package Csv.Csharp -version 1.0.3
A basic use of the project something like this...
genius.csv
without column names
Galileu;Galilei;1564-02-15
Isaac;Newton;1643-04-01
Albert;Einstein;1879-03-13
Genius class
using CsvSharp.Attributes;
public class Genius
{
public string FirstName { get; set; }
public string LastName { get; set; }
[CsvDateTimeFormat("yyyy-MM-dd")]
public DateTime BirthDate { get; set; }
}
using CsvSharp;
using System.Globalization;
using System.IO;
void Main()
{
//Read string lines csv file
var lines = File.ReadLines(@"path\to\file.csv");
//Get collection from string lines
IEnumerable<Genius> collection = CsvConvert.Deserialize<Genius>(lines, CultureInfo.InvariantCulture);
}
Result list
FirstName | LastName | BirthDate |
---|---|---|
Galileu | Galilei | 1564-02-15 00:00:00 |
Isaac | Newton | 1643-04-01 00:00:00 |
Albert | Einstein | 1879-03-13 00:00:00 |
using CsvSharp;
using System;
using System.Globalization;
void Main()
{
IEnumerable<Genius> collection = ...
//Get string text from collection
string text = CsvConvert.Serialize(collection, CultureInfo.InvariantCulture);
Console.WriteLine(text);
}
Result text
Galileu;Galilei;1564-02-15
Isaac;Newton;1643-04-01
Albert;Einstein;1879-03-13