读取非常大的CSV和JSON文件

时间:2017-02-05 19:34:36

标签: c# json csv memory

我目前正在C#中为一个游戏编写一个“搜索引擎”,我从中获得了非常大的(3GB甚至更多!)。。cv和.json(l)文件,我需要解析它们,但它需要非常大量的RAM ...什么是解析它们的好方法(我需要将所有数据传输到数据库中)?

示例csv:

id,station_id,commodity_id,supply,buy_price,sell_price,demand,collected_at
1,1,5,0,0,315,532,1486247405
2,1,6,0,0,6795,38,1486247405
3,1,7,0,0,527,318,1486247405

不幸的是没有json示例,但它是一个包含数据的OBJ数组。

1 个答案:

答案 0 :(得分:1)

我使用了 Microsoft.VisualBasic.FileIO.TextFieldParser ,它对于2 GB .CSV文件足够快。

using (TextFieldParser sr = new TextFieldParser(datapath)
        {
            Delimiters = new string[1] { "," },
            HasFieldsEnclosedInQuotes = true;
        })
{
     string[] values = sr.ReadFields();
     while (values != null)
     {
      // ....
      values = sr.ReadFields();
     }
}

希望它有所帮助。