FileHelpers 和 CSV:当记录可以无限水平扩展时该怎么办

2023-11-27

我正在尝试使用 FileHelpers 解析这种类型的 CSV 文件:

Tom,1,2,3,4,5,6,7,8,9,10
Steve,1,2,3
Bob,1,2,3,4,5,6
Cthulhu,1,2,3,4,5
Greg,1,2,3,4,5,6,7,8,9,10,11,12,13,14

我不知道如何用 FileHelpers 解析它。我想我应该能够做这样的事情:

[DelimitedRecord(",")]
public class MyRecord
{
    public string Name;

    public List<int> Values;
}

但这对于 FileHelpers 来说似乎是不可能的。我能做的最好的事情似乎是:

[DelimitedRecord(",")]
public class MyRecord
{
    public string Name;

    public string Values;

    public string[] ActualValuesInNiceArray
    {
        get { return Values.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries); }
    }
}

然后我需要分开Values使用逗号来获取每条记录的值集。如果我必须手动解析每条记录的一部分,那么使用 FileHelpers 似乎没有多大意义。

我错过了什么吗?我已经查看了文档/示例,但似乎无法找到适合我的格式的解决方案。 Excel 对我的格式没有任何问题,所以我想有一种方法可以使用现有的免费库(FileHelpers 或其他一些库)来完成此操作。有任何想法吗?


您可以使用数组字段图书馆将完成这项工作:

[DelimitedRecord(",")]
public class MyRecord
{
    public string Name;

    public int[] Values;
}

您甚至可以使用 [FieldArrayLength(2, 8)]

[DelimitedRecord(",")]
public class MyRecord
{
    public string Name;

    [FieldArrayLength(2, 8)]
    public int[] Values;
}

设置最小/最大数值数

我强烈建议从这里下载最新版本的库:

检查工件部分

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

FileHelpers 和 CSV:当记录可以无限水平扩展时该怎么办 的相关文章

随机推荐

  • React.js“从somelib导入{Something}”和“从somelib导入某些东西”之间的区别[重复]

    这个问题在这里已经有答案了 我不明白以下之间的区别 import Something from somelib and import Something from somelib 在 React js 中 有人可以解释一下吗 使用 ES6
  • 如何从实际计算机访问虚拟机上的django开发服务器

    好的 我的笔记本电脑已经安装了 vmware 播放器 我正在将 lubuntu 作为虚拟机运行 并且在虚拟机上安装了 django 并正在测试我的应用程序 因此我执行了 python manage py runserver 并且我可以通过从
  • 如何使用 Bootstrap 4 实现响应式排版?

    我正在使用 Bootstrap 4 构建响应式 Web 应用程序 与桌面相比 我希望在移动设备上减小所有文本的字体大小 因此我根据 Bootstrap 文档将以下内容添加到我的基本 css 文件中 https getbootstrap co
  • c3p0 连接池是否确保最大池大小?

    我已经经历了几个问题 this有些相关 但没有回答我的问题 c3p0 是否有连接池maxPoolSize确保某个时间的连接数永远不会超过这个限制 如果maxPoolSize 5并且 10 个用户同时开始使用该应用程序 我的应用程序 配置
  • iText:如何在同一文档中插入背景图像以刷新响应

    我正在创建一个 PDF 并编写流作为响应 在写入流之前 我想在所有页面中添加背景图像作为水印 以便通过响应刷新的 PDF 文档是最后一个带水印的文档 嗨 这是我的代码示例 任何帮助将非常感激 private static String ge
  • 使用 Javascript 检测 Flash 应用程序是否正确加载?

    我的产品打开一个 Web 浏览器并将其指向包含本地 Flash 应用程序的 HTML 文件 如何以编程方式检测该文件是否加载成功 如果没有成功则抛出什么异常 有没有办法使用 JavaScript 来做到这一点 从外部检查文件是否存在于磁盘上
  • 用于获取日期的星期几的确定性标量函数

    SQL Server 尝试通过确定性 UDF 获取星期几 我确信这一定是可能的 但无法弄清楚 更新 示例代码 CREATE VIEW V Stuff WITH SCHEMABINDING AS SELECT MD ID MD DateTim
  • Android ImageAdapter 与 Fragment 中的 Gridview

    我有一个带有 gridview 的适配器 它作为一个 Activity 工作 我现在尝试将其放入片段中并转换内容 但它不起作用 当我在 Activity 中包含 IconFragmentSystem 时 当我尝试打开 Activity 时
  • spawnSync /bin/sh ENOBUFS

    Error spawnSync bin sh ENOBUFS 在执行以下行时 非系统地在我的 NodeJs 应用程序中生成 child process execSync cd tmp myFolder tar xjf myArchive t
  • 发送到应用程序的 CTRL-C 单元测试

    I am developing an application handling CTRL C I am producing a signal handler to shut down gracefully threads and other
  • Google Play 内容政策 [关闭]

    Closed 这个问题是无关 目前不接受答案 我刚刚收到一封来自 Google 的电子邮件 告诉我我的一个应用违反了开发者条款 我有 7 天的时间来遵守 他们是这么说的 警告原因 违反内容的垃圾邮件规定 政策 请勿发布重复内容 产品描述不应
  • 查找数组中出现次数最多的元素 [java]

    我必须找到双精度数组中出现次数最多的元素 我是这样做的 int max 0 for int i 0 i lt array length i int count 0 for int j 0 j lt array length j if arr
  • 如何将 Swift 对象序列化或转换为 JSON?

    下面这个类 class User NSManagedObject NSManaged var id Int NSManaged var name String 需要转换为 id 98 name Jon Doe 我尝试手动将对象传递给函数 该
  • 使用 HTTP Post 从客户端流式传输数据

    我想将数据从客户端流式传输到服务器 我的应用程序将音频数据流式传输到服务器 当我开始流式传输时 我不知道音频会持续多长时间 我想通过在记录数据时传输数据来减少延迟 一旦所有数据上传完毕 我就会对其进行处理 所以 我想要的是一个 HTTP P
  • 如何在 UWP 应用中保留 TextBlock 的空白

    如果您只是将 TextBlock 中的 Text 属性的值设置为 例子 请注意 此处有 3 个空格end这个字符串 TextBlock 在 UI 中显示的只是 Example 并且在网上搜索解决方案后 发现有一种方法可以解决这个问题
  • 如何用 C++ 读取和解析 CSV 文件?

    我需要在 C 中加载和使用 CSV 文件数据 此时它实际上可以只是一个逗号分隔的解析器 即不用担心转义新行和逗号 主要需要是一个逐行解析器 每次调用该方法时 它将返回下一行的向量 我发现这篇文章看起来很有前途 http www boost
  • javascript,在开始颜色和结束颜色之间选择一个随机的十六进制颜色

    有什么快速的方法可以实现这一点吗 例如 起始颜色 EEEEEE 和结束颜色 FFFFFF 会产生类似 FEFFEE 的颜色 当然 十六进制被编码为数字 但要使其有意义 您必须首先提取 rgb 组件 function rgb string r
  • php邮件的smtp配置

    我使用 php 邮件功能从我的网站发送邮件 但现在它不起作用 我联系了我们的托管团队 然后他们告诉我使用 smtp 因为他们对服务器做了一些更改 我不知道该怎么做 当前代码 带有 php 邮件功能 如下 任何人都可以帮助我进行与此相关的更改
  • Go 闭包在内存中是如何布局的?

    有关闭包的一般解释 请参见JavaScript 闭包如何工作 Go 闭包到底是如何在内存中布局的 以以下函数为例 type M int func m M Adder amount int func return func m m amoun
  • FileHelpers 和 CSV:当记录可以无限水平扩展时该怎么办

    我正在尝试使用 FileHelpers 解析这种类型的 CSV 文件 Tom 1 2 3 4 5 6 7 8 9 10 Steve 1 2 3 Bob 1 2 3 4 5 6 Cthulhu 1 2 3 4 5 Greg 1 2 3 4 5