小编Lee*_*Lee的帖子

如何使用 .net 读取包含 2900 万行数据的巨大 CSV 文件

我有一个巨大的.csv文件,具体来说是一个.TAB有 2900 万行的文件,文件大小约为 600 MB。我需要把它读到一个IEnumerable集合中。

我已经尝试过CsvHelper,GenericParser和其他一些解决方案,但总是以内存不足异常告终

请建议一种方法来做到这一点

我试过了

var deliveryPoints = new List<Point>();

using (TextReader csvreader1 = File.OpenText(@"C:\testfile\Prod\PCDP1705.TAB")) //StreamReader csvreader1 = new StreamReader(@"C:\testfile\Prod\PCDP1705.TAB"))
using (var csvR1 = new CsvReader(csvreader1, csvconfig))
{
     csvR1.Configuration.RegisterClassMap<DeliveryMap>();
     deliveryPoints = csvR1.GetRecords<Point>().ToList();
}

using (GenericParser parser = new GenericParser())
{
     parser.SetDataSource(@"C:\testfile\Prod\PCDP1705.TAB");

     parser.ColumnDelimiter = '\t';
     parser.FirstRowHasHeader = false;
     //parser.SkipStartingDataRows = 10;
     //parser.MaxBufferSize = 4096;
     //parser.MaxRows = 500;
     parser.TextQualifier = '\"';

     while (parser.Read())
     {
         var address = new Point(); …
Run Code Online (Sandbox Code Playgroud)

.net c# csv streamreader

6
推荐指数
3
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

csv ×1

streamreader ×1