【发布时间】:2017-02-05 19:34:35
【问题描述】:
我目前正在用 C# 为游戏编写一个“搜索引擎”,我从中得到非常大的(3GB 甚至更多!).csv 和 .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 数组。
【问题讨论】:
-
您能否提供
csv和json文件的简短示例?还有一些你已经拥有的代码。 -
@stackoverflow.com/users/283606/aleksandr-ivanov 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
-
您需要使用基于流的 API,您可以在其中读取单行或标记,解析它,然后丢弃它并读取下一个。例如 JSON.NET
JsonTextReader. -
对于 csv 你可以使用
StreamReader.ReadLine然后自己解析。