gpt4 book ai didi

c# - CsvHelper 不从 CsvHelper 创建的 .csv 文件中读取数据

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:20 25 4
gpt4 key购买 nike

您好,我正在尝试使用 CsvHelper,并最终将我的数据写入 .csv 文件,但如果尝试读取数据,结果总是空的。它读取 header ,然后 csv.Read() 似乎跳过了所有数据。

Sperrnummer 类定义:

public class Sperrnummer
{
public string Nummer { get; set; }
public DateTime Erstellt { get; set; }
public string Benutzer { get; set; }

public Sperrnummer(string nummer, DateTime erstellt, string benutzer)
{
Nummer = nummer;
Erstellt = erstellt;
Benutzer = benutzer;
}

public Sperrnummer(string nummer)
{
Nummer = nummer;
Erstellt = DateTime.Now;
Benutzer = HttpContext.Current.User.Identity.Name;
}
public Sperrnummer()
{
Nummer = "";
Erstellt = DateTime.Now;
Benutzer = HttpContext.Current.User.Identity.Name;
}
}

这是我的示例文件:

Nummer,Erstellt,Benutzer
03063651976,08.07.2018 13:54:49,MASCHINE\Plopp
03063651977,08.07.2018 13:54:49,MASCHINE\Plopp
03063651978,08.07.2018 13:54:49,MASCHINE\Plopp
03063651979,08.07.2018 13:54:49,MASCHINE\Plopp
03063651971,08.07.2018 13:54:49,MASCHINE\Plopp
03063651972,08.07.2018 13:54:49,MASCHINE\Plopp
03063651973,08.07.2018 13:54:49,MASCHINE\Plopp

这是我的“读者”:

public ActionResult Index()
{
var filePath = Server.MapPath("~/liste.txt");
List<Sperrnummer> sperrnummern = new List<Sperrnummer>();

if (System.IO.File.Exists(filePath)){
using (var reader = new StringReader(filePath))
{
var csv = new CsvReader(reader);

csv.Read();
csv.ReadHeader();
while (csv.Read())
{
var nummer = csv.GetRecord<Sperrnummer>();
sperrnummern.Add(nummer);
}
}
}
else
{
sperrnummern = new List<Sperrnummer>();
}

return View(sperrnummern);
}

生成的“sperrnummern”始终为空。

最佳答案

鉴于缺少默认构造函数和目标类的只读属性,您必须手动初始化类,提取值并将它们传递给构造函数参数。

while (csv.Read()) {
var nummer = new Sperrnummer(
nummer: csv["Nummer"],
erstellt: csv.GetField<DateTime>("Erstellt"),
benutzer: csv["Benutzer"]
);
sperrnummern.Add(nummer);
}

关于c# - CsvHelper 不从 CsvHelper 创建的 .csv 文件中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51232279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com