我有一个非常大的CSV文件,大约有1,000,000行,它需要大约500 MB的内存。我不必读取所有文件。我想从文件中读取每一百行。我尝试按ReadLines
来做,但它确实很慢,更快的是ReadAllLines
。阅读从CSV中选择的行
我的代码:
for (int i = 0; i < 10000; i++)
{
tableOfString[i]=File.ReadLines("TestCSV.csv").Skip(i*100).Take(1).First();
//or
tableOfString[i] = File.ReadLines("TestCSV.csv").ElementAtOrDefault(i*100);
}
我读到一些读者:
有anyb ody得到了解决方案?我只想从CSV中读取某些行,而不是整个文件。
商店都在一个字符串[],而不是使用' File.ReadLines'。你可以使用'File.ReadAllLines'。 '文件。ReadLines'返回一个IQueryable,所以当你访问它时,你会查询所有行。 – 2014-10-28 09:28:37
你是说你不想把整个文件读入内存? – DavidG 2014-10-28 09:29:36
'File.ReadLines(“TestCSV.csv”)。ElementAtOrDefault(i * 100);' – artm 2014-10-28 09:35:00