簡體   English   中英

使用 LINQ 訪問 csv 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM