CSV parser/reader for C#? [closed]

2018-12-31 18:31发布

问题:

is there a good and free implementation of CSV parser available under some liberal licence? Some counterpart of SuperCSV for Java, perhaps a port?

回答1:

FileHelpers Open Source Library.



回答2:

There\'s a nice implementation on CodeProject:

To give more down to earth numbers, with a 45 MB CSV file containing 145 fields and 50,000 records, the reader was processing about 30 MB/sec. So all in all, it took 1.5 seconds! The machine specs were P4 3.0 GHz, 1024 MB.



回答3:

You can load a CSV file to DataTable.

Sample code -

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;
}

Make sure you compile your project to x86 processor. It doesn\'t work for x64.



回答4:

try filehelpers Work amazingly well. I am using it to parse a 100 MB file every day.



回答5:

Have you tried the FileHelpers library? It\'s free, open source and can be used to parse CSV files.

  • http://www.filehelpers.net/


回答6:

I\'ve started using CSV Parser that is part of the CommonLibrary.NET.

It uses .NET 3.5, has an easy API, and convenient overloads/methods & lamda\'s for iterations.

I don\'t have any benchmarks for this one like above, but nice thing about this is that it\'s just one component of a library similar to Java Commons. So I also get a Command-line parser, Repository implementation among other things.



标签: c# csv