当我尝试分析大数据中的选择性列时,我总是抛出OutOfMemory
。
我的大数据存储在单独的Excel文件中。每个文件有超过22列和超过222330条记录。
我需要阅读选择性列然后进行统计分析。我将这些选择性列读入Datatable
然后for loop
以研究内容。
如下面的代码:
OleDbDataAdapter adapter_sido_Class4 = new OleDbDataAdapter("Select [Kvalitetsklass (null)],[Sido kortvåg vänster (null)], [Sido mellanvåg vänster (null)], [Sido långvåg vänster (null)]," + "[Sido kortvåg höger (null)], [Sido mellanvåg höger (null)], [Sido långvåg höger (null)]" + " from [Sheet1$]" + " where ([Kvalitetsklass (null)] = 4)", connection);
DataTable dt_sido_Class4 = new DataTable();
adapter_sido_Class4.Fill(dt_sido_Class4);
for (int i = 0; i < dt_sido_Class4.Rows.Count; i++)
{
if (dt_sido_Class4.Rows[i].Field<double>(1) == 0)
{
sido_count10v++;
}
else if (dt_sido_Class4.Rows[i].Field<double>(4) == 0)
{
sido_count10h++;
}
else if (dt_sido_Class4.Rows[i].Field<double>(1) == null)
{
sido_count11v++;
}
}
我使用Where
条件处理数据堆而不是空洞数据。
在相同的代码中,我尝试添加更多其他列并进行其他分析,但我总是遇到OutOfMemory
异常。虽然,我使用Dispose()
和Close()
在内存中留出空间用于其他计算。
您有什么建议来处理这些大数据?
谢谢,