[英]access csv file with LINQ
我有 ac# 實驗室問題:
這是我的代碼 todo 從 csv 文件添加數據,編譯后它給出了一個錯誤,名稱“行”在當前內容中不存在
foreach (string row in rows)
{
if (string.IsNullOrEmpty(row)) continue;
string[] cols = row.Split(',');
DailyValues v = new DailyValues();
v.Open = Convert.To*(cols[0]);
v.High = Convert.To*(cols[1]);
v.Low = Convert.To*(cols[2]);
v.Close = Convert.To* (cols[3]);
v.Volume = Convert.To* (cols[4]);
v.AdjClose = Convert.To*(cols[5]);
v.Date = Convert.To*(cols[6]);
values.Add(v);
return values;
}
您的CSV文件似乎包含無法轉換為十進制的數據。 在調試器中運行它,並在引發異常時查看row
。
如果使用Decimal.TryParse()
,則返回值將告訴您轉換是否成功而沒有引發異常。
編輯:
以TryParse為例:
Decimal _Open, _High;
if (!Decimal.TryParse(cols[0], out _Open))
{
Debug.Print("Error on row: {0}", row);
continue;
}
v.Open = _Open;
if (!Decimal.TryParse(cols[1], out _High))
{
Debug.Print("Error on row: {0}", row);
continue;
}
v.High = _High;
您可以點擊此鏈接以從csv文件讀取數據: http : //www.codeproject.com/Questions/393163/Csharp-Reading-from-a-CSV-file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.