我想從 CSV 檔案中讀取單個值(例如第 3 行,第 2 列)。
我正在使用 LINQtoCSV NuGet Paket ( https://www.codeproject.com/Articles/25133/LINQ-to-CSV-library#_articleTop )
class Product
{
[CsvColumn(Name = "Steckplatz", FieldIndex = 1)]
public String Name { get; set; }
[CsvColumn(CharLength = 5, FieldIndex = 2)]
public short Steckzyklen { get; set; }
[CsvColumn(OutputFormat = "yyyy-MM-dd HH:mm:ss", FieldIndex = 3)]
public DateTime Austauschdatum { get; set; }
}
static void Main(string[] args)
{
CsvFileDescription inputFileDescription = new CsvFileDescription
{
SeparatorChar = ',',
FirstLineHasColumnNames = true
};
CsvContext cc = new CsvContext();
IEnumerable<Product> products =
cc.Read<Product>("Insert Steckzyklen Z?hler.csv", inputFileDescription);
var productsByName =
from p in products
orderby p.Name
select new { p.Name, p.Steckzyklen, p.Austauschdatum };
Console.WriteLine(products);
}
變數“products”是一個 IEnumerable。整個 CSV 檔案保存在產品中。
這是我的 CSV 檔案:
Steckplatz,Steckzyklen,Austauschdatum
KnaufUpdateBox1Steckplatz1,159,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz2,256,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz3,15896,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz4,489,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz5,6875,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz6,2856,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz7,874,2022-02-25 14:30:32
KnaufUpdateBox1Steckplatz8,3874,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz1,3689,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz2,3689,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz3,983,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz4,287,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz5,398,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz6,28567,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz7,389,2022-02-25 14:30:32
KnaufUpdateBox2Steckplatz8,938,2022-02-25 14:30:32
使用 LINQPad,我可以查看產品中存盤的內容。我沒有設法從產品中獲得特定的價值。有人可以幫忙嗎?
提前致謝。
uj5u.com熱心網友回復:
(例如第 3 行,第 2 列)。
假設產品按檔案順序呈現
products.Skip(2).First().Steckzyklen;
Skip跳過列舉中的前兩項,First抓住第三個專案,并且Steckzyklen獲取第二列
“第 2 列”的概念在某種程度上被命名屬性所取代,例如 LINQtoCSV 的全部存在理由;您可以通過以編程方式檢查具有 FieldIndex 2 的屬性來恢復它,但我認為當 FieldIndex=2 是硬編碼并且 Steckzyklen 是硬編碼時,這是無稽之談;因此它們是同義詞
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/455922.html
