我正在尝试将大型csv文件加载到DataTable
。该文件包含大约2200列和13K行。
我已经创建了Datatable
,但是当我尝试在该表中添加一行时,没有任何事情发生(既不是例外也不是错误,但该行没有出现在{ {1}})。
我已经在调试中检查过该行确实包含了所有数据并且没有空,并看到DataTable
也包含了所有列 - 似乎是DataTable
添加功能不起作用。我尝试从csv文件中删除列,发现当大约有800列时,它们都运行良好。
根据MSDN文档,有一个行限制为16,777,216 - 我甚至没有关闭,但我没有看到任何列限制。
之前有人见过这个问题吗?为什么添加功能在超过2k列时不起作用?它真的是DataTable
的列限制,还是我做错了?
以下是代码:
DataTable
P.S。尝试使用DataTable dt = new DataTable();
StreamReader reader= new StreamReader(filePath);
// first line contains the names of the columns
string strFirstLine = reader.ReadLine();
string strRow;
string[] strColms = strFirstLine.Split(',');
foreach (string s in strColms)
{
dt.Columns.Add(s);
}
while (!reader.EndOfStream)
{
strRow = reader.ReadLine();
DataRow row = dt.NewRow();
row.ItemArray = strRow.Split(',');
dt.Rows.Add(row);
}
函数,但它仍然无法正常工作。