为什么我的 csv 文件没有通过内部 CSVHelper 测试?

Why my csv file doesn't pass the internal CSVHelper test?

我正在尝试在我的项目中使用 CSVHelper。我创建了那个文件:

但是在执行 JobApplicationCSV.WriteCSV 方法后,我得到了一个 CSVHelper 异常:

System.Exception HResult=0x80131500 Nachricht = Header with name 'Company' was not found. If you are expecting some headers to be missing and want to ignore this validation, set the configuration HeaderValidated to null. You can also change the functionality to do something else, like logging the issue. Quelle = latex_curriculum_vitae Stapelüberwachung: at latex_curriculum_vitae.Services.CsvParserService.ReadCsvFileToJobApplicationModel(String path) in C:\Users\Sasch\source\repos\Visual Studio\latex_curriculum_vitae-dotnet\latex_curriculum_vitae\Services\CsvParserService.cs:line 51 at latex_curriculum_vitae.JobApplicationCSV.WriteCSV(String company, String jobtitle, String city, String joburl) in C:\Users\Sasch\source\repos\Visual Studio\latex_curriculum_vitae-dotnet\latex_curriculum_vitae\JobApplicationCSV.cs:line 17 at latex_curriculum_vitae.MainWindow.BtnGenerate_Click(Object sender, EventArgs e) in C:\Users\Sasch\source\repos\Visual Studio\latex_curriculum_vitae-dotnet\latex_curriculum_vitae\MainWindow.xaml.cs:line 106

我在路径中预先创建了一个 CSV 文件,header:

Company,Jobtitle,City,Status,EmailSent,JobOfferUrl

所以我其实不知道为什么它没有通过测试。也许我错过了什么?

您使用的 CsvHelper 版本使用 CurrentCulture 来获取分隔符。看来你在德国,所以你的分隔符是“;”代替 ”,”。当前版本的 CsvHelper 强制您根据 CultureInfo.InvariantCulture 的建议将 CultureInfo 对象传递给 CsvReaderCsvWriter 以尝试调解此问题。

在您的 CsvParserService 中尝试将以下内容添加到 ReadCsvFileToJobApplicationModel()WriteNewCsvFile() 方法中。

csv.Configuration.Delimiter = ",";