我目前正在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数组。
答案 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();
}
}
希望它有所帮助。