C# CsvHelper.ValidationException - 为什么?

2024-07-01

我正在尝试在 C# 控制台应用程序中使用 CSVHelper 。我有一个例外:

CsvHelper.ValidationException:'标头匹配 ['Numer Dokumentu'] 未找到索引 0 处的名称。

我不知道为什么,因为这个标题位于 csv 文件中他的位置。

这是我的 Program.cs

var packs = new List<Pack>();
            using (var streamReader = File.OpenText("C:/.../file.csv"))
            {                
                var reader = new CsvReader(streamReader);
                reader.Configuration.RegisterClassMap<PackMap>();
                packs = reader.GetRecords<Pack>().ToList();
            }

和 Pack.cs

public class Pack {   
    public string NrDoc { get; set; }
    public string recipientName { get; set; }
    public string recipientAdress { get; set; }
    public string recipientCity { get; set; }
    public string packValue { get; set; }
    public string packInfo { get; set; }
     }

和 PackMap.cs

 sealed class PackMap : ClassMap<Pack>
{
    public PackMap()
    {

        AutoMap();
        Map(m => m.NrDoc).Name("Numer Dokumentu");
        Map(m => m.recipientName).Name("Kontrahent");
        Map(m => m.recipientAdress).Name("Ulica");
        Map(m => m.recipientCity).Name("Miasto");
        Map(m => m.packValue).Name("Brutto");
        Map(m => m.packInfo).Name("Opis");
    }
}

在“PackMap.cs”中,我尝试使用 Index(0)、Index(1) 等,但没有任何更改。 谁来告诉我我做错了什么? 我必须在 CSV 文件中使用不同的标头名称,并在 C# 中使用不同的变量

这是我的 csv 文件:

Numer Dokumentu;Status;Data wyst.;Magazyn;Kontrahent;Ulica;Miasto;Netto;Brutto;Opis
FA/3/08/2017/1;;16.08.2017;MAGAZYN;Damianowa Firma;Nowa Lucyna Herc;Lublin;87;20;107;25;Wystawić fakturę. Uwagi klienta:   1
FA/1/10/2017/6;;28.10.2017;MAGAZYN;IBIS Marek Jeż;Jana Pawła II;Szubin;241;00;296;43;Wysyłka
FA/2/10/2017/6;;28.10.2017;MAGAZYN;Netia  S.A.;ul. Poleczki 13;Warszawa;782;28;962;20;Wysyłka pobranie

您的文件不是逗号分隔的,因此您需要更改配置才能使用;而不是逗号。

reader.Configuration.Delimiter = ";";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# CsvHelper.ValidationException - 为什么? 的相关文章

  • 如何在 C# 中检查互联网连接是否可用

    我为一家公司开发了一个软件 出于某种许可目的 我使用远程数据库来允许 禁止使用该软件 每次用户登录软件时都会应用此任务 如果互联网连接不存在或对远程数据库的查询失败 用户会收到错误 他无法登录软件并显示远程数据库http地址 我不希望他看到
  • C++11 中的延迟初始化顺序

    考虑以下代码 分为三个编译单元 a h struct A void Register const char s const char m s 10 int m i 0 A GetA a cpp include a h include
  • ASP.NET Core处理JSON反序列化问题

    我想更改 ASP NET Core 中无效 JSON 请求处理的默认行为 我有这个模型 public class Model public Guid Id get set 当我用这个 body 发送这个请求时 Id null 它返回此错误消
  • 安装 Windows 服务以使用 ServiceAccount.User 在用户凭据下运行,但不提示

    我创建了一个 C Windows 服务及其随附的用于创建安装程序的 Visual Studio 安装项目 它成功安装了该服务 当我从枚举中选择任何值时ServiceAccount除了ServiceAccount User 该服务安装时不会提
  • Microsoft.Graph GetAsync() 无限期挂起

    介绍 我正在开发一个 ASP NET 应用程序 除其他外 它应该从 Azure Active Directory 检索用户 为此 我使用 Microsoft Graph 版本 1 14 0 预览库 可以找到该库here https www
  • 单元测试依赖注入

    我在用Autofac for IoC 这是我的容器启动器类 其职责是注册依赖项 public class ContainerInit public static IContainer BuildContainer var conFac ne
  • 如何在单击按钮时关闭 .exe 应用程序

    谁能告诉我如何使用 C 在单击按钮时关闭 exe 文件 我知道如何使用 C 在单击按钮时运行 exe 文件 如下所示 string str C windows system32 notepad exe process StartInfo F
  • 将 wav 文件存储在数组中

    我需要一种快速方法来将 wav 文件的所有样本存储在数组中 我目前正在通过播放音乐并存储来自示例提供程序的值来解决这个问题 但这不是很优雅 从 NAudio 演示中 我有带有此方法的 Audioplayer 类 private ISampl
  • 如何从源代码编译picoProlog?

    我是计算机科学专业的学生 正在学习 Prolog 逻辑编程 我发现了一个有趣的 Prolog 解释器 picoProlog http spivey oriel ox ac uk corner Logic Programming http s
  • 在 OpenGL 中绘制 2D 纹理 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个绘图函数叫做DrawImage但这确实令人困惑 并且仅适用于特定形式的重塑函数 所以我有两个问题 如何在 Ope
  • 如何从库调用方法到 C# 控制台

    我在新库中创建了一个方法 这是我的代码 namespace ClassLibrary1 public class Class1 public static bool ISprime int prime if prime lt 2 retur
  • Sharepoint 客户端 GetFolderByServerRelativeUrl 文件夹修改日期

    我试图在使用 GetFolderByServerRelativeUrl 函数时检索文件夹的 修改日期 和 创建日期 我该怎么做 我只能从中获取relativeUrl 和文件夹名称 下面是我为检索文件夹所做的操作 请帮忙 FolderColl
  • C# 替换 Byte[] 中的字节

    替换字节数组中的某些字节的最佳方法是什么 例如我有bytesFromServer listener Receive ref groupEP 我可以做BitConverter ToString bytesFromServer 将其转换为可读格
  • 使用本机 Win32 读取“C”中的文本文件(Unicode)

    我有一个使用 CreateFile 和 WriteFile 创建的面向行的文本文件 Unicode 使用 ReadFile 以二进制流形式读取该文件非常简单 但需要额外的低级处理才能将其分成几行 是否有 Win32 函数可以为我执行此操作
  • 为什么不允许静态常量浮点数? [复制]

    这个问题在这里已经有答案了 我有一个类 它本质上只是保存了我的应用程序中使用的一堆常量定义 但由于某种原因 longs 编译但是float不 class MY CONSTS public static const long LONG CON
  • C 中的隐式类型转换

    我在维基百科上偶然发现了以下示例 http en wikipedia org wiki Type conversion Implicit type conversion http en wikipedia org wiki Type con
  • DllImport 名称不完整

    我在 NET 下使用多个 P Invoke 但是 我希望我的库能够在 Windows 和 Linux 上运行 最好使用相同的二进制文件 由于我所依赖的本机库可在多个平台上使用 因此我希望将它们与我的托管库的二进制文件一起使用 现在我正在使用
  • 如何在调试 C 程序时将 gdb 值转换为 python 数字对象

    我在调试 C 程序时使用 python2 6 的 gdb 模块 并希望根据实例的 Type 将 gdb Value 实例转换为 python 数字对象 变量 例如 把我的C程序SomeStruct gt some float val 1 6
  • fread 在 C 中如何工作?

    我有内容为的文本文件 12345678901222344567 然后我用这段代码来读取内容 FILE pFile int c char buffer 256 pFile fopen myfile txt r int a 50 0 fread
  • 如何将特殊字符 (0x80..0x9F) 写入 Windows 控制台?

    我想要这段代码 System Console Out WriteLine il display il代替oil正如我的测试程序中所做的那样 The Console OutputEncoding默认设置为Western European DO

随机推荐