Analizador / lector de CSV para C #?

¿Existe una implementación buena y gratuita del analizador CSV disponible bajo alguna licencia liberal? Alguna contraparte de SuperCSV para Java, tal vez un puerto?

FileHelpers Open Source Library .

Hay una buena implementación en CodeProject :

Para dar más números a la tierra, con un archivo CSV de 45 MB que contiene 145 campos y 50,000 registros, el lector procesaba alrededor de 30 MB / seg. ¡Así que en total, tomó 1.5 segundos! Las especificaciones de la máquina eran P4 3.0 GHz, 1024 MB.

Puede cargar un archivo CSV a DataTable.

Código de muestra –

 static DataTable CsvToDataTable(string strFileName) { DataTable dataTable = new DataTable("DataTable Name"); using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + Directory.GetCurrentDirectory() + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\"")) { conn.Open(); string strQuery = "SELECT * FROM [" + strFileName + "]"; OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn); adapter.Fill(dataTable); } return dataTable; } 

Asegúrese de comstackr su proyecto para el procesador x86. No funciona para x64.

prueba Filehelpers Funciona increíblemente bien. Lo estoy usando para analizar un archivo de 100 MB todos los días.

¿Has probado la biblioteca FileHelpers? Es gratis, de código abierto y se puede usar para analizar archivos CSV.

Empecé a usar CSV Parser que es parte de CommonLibrary.NET .

Utiliza .NET 3.5, tiene una API fácil y prácticas sobrecargas / métodos y lamda para iteraciones.

No tengo ningún punto de referencia para este como el anterior, pero lo bueno de esto es que es solo un componente de una biblioteca similar a Java Commons. Así que también obtengo un analizador de línea de comandos, implementación de repository, entre otras cosas.