簡而言之,我使用Lumen CSV閱讀器嘗試將CSV數據讀入我的程序。Lumen CSV閱讀器無法讀取第10列或之後
我遍歷列行內做:
// open the file "data.csv" which is a CSV file with headers
using (CsvReader csv = new CsvReader(new StreamReader(Path), true))
{
string[] headers = csv.GetFieldHeaders();
int RowCount = 1;
while (csv.ReadNextRecord())
{
int TakenValsRowPosCount = 1; //Leave the first value at 0 for weird style
for (int i = 0; i < csv.FieldCount; i++)
{
if (HeaderstoInput.Contains(headers[i]))
{
if(!String.IsNullOrWhiteSpace(csv[i]))
InputVals[RowCount, TakenValsRowPosCount] = Convert.ToDouble(csv[i]);
TakenValsRowPosCount++;
}
}
RowCount++;
}
}
出於某種原因,這項工作完全正常,直到我達到10這個值並在此之後的所有值都返回「」(在腕錶)。即使那裏有數據。
我已經嘗試從CSV中刪除列以將第十列左移,並閱讀它,並工作。因此,數據本身似乎不是問題,只是第10列和更多列。
我已經嘗試將讀取器中的緩衝區大小更改爲各種值。我似乎無法在別處找到任何有關此問題的參考。
也許讀者根本不支持那麼多列?你是否檢查過文檔或代碼? – 2015-02-23 11:37:32
你好,我已經檢查了我能找到的所有東西,並且找不到這個參考。 – NDC 2015-02-25 10:29:13
你能發佈你的整個相關代碼嗎?根據作者的代碼項目網站(http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader),他在145個領域(你可以從源頭獲得)進行測試。 – sous2817 2015-02-25 15:56:09