ReadStreamAsDT - Filehelpers 和 C# - 如何使用 filehelpers 动态读取 CSV?

2023-12-12

我正在尝试通过 FileHelpers 动态读取 CSV 并将 CSV 数据作为数据表使用。我的 CSV 文件不会相同。它们将具有不同的列标题和不同数量的列。我正在使用 ReadStreamAsDT 方法,但似乎仍然需要一个结构化类来初始化 FileHelperEngine。有任何想法吗?


我不得不使用FileHelpers.RunTimeDelimitedClassBuilder创建一个DataTable从文件中。这是我的方法。如果我有更多时间,我会更好地解释这一点。

private static DataTable CreateDataTableFromFile(byte[] importFile) {
    var cb = new DelimitedClassBuilder("temp", ",") { IgnoreFirstLines = 0, IgnoreEmptyLines = true, Delimiter = "," };
    var ms = new MemoryStream(importFile); 
    var sr = new StreamReader(ms); 
    var headerArray = sr.ReadLine().Split(',');
    foreach (var header in headerArray) { 
        cb.AddField(header, typeof(string)); 
        cb.LastField.FieldQuoted = true; 
        cb.LastField.QuoteChar = '"'; 
    }
    var engine = new FileHelperEngine(cb.CreateRecordClass());
    return engine.ReadStreamAsDT(sr);
}

显然,围绕此方法进行了大量验证以及其他逻辑,但我现在没有太多时间深入研究它。希望这可以帮助!

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

ReadStreamAsDT - Filehelpers 和 C# - 如何使用 filehelpers 动态读取 CSV? 的相关文章

  • 错误:表达式不可赋值三元运算符

    我有以下代码 MPLABX XC8 编译器给出此错误 错误 表达式不可分配 U1ERRIRbits RXFOIF uart1 oerr 1 uart1 oerr 0 这是相关代码部分 typedef union struct bool fe
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • 使用管道在父级和子级之间传递整数值

    我对如何正确使用 pipeline 在两个进程之间传递整数值有点困惑 在我的程序中 我首先创建一个管道 然后分叉它 我假设我有 两个 管道 据我了解 这是我的任务 我的父母通过 for 循环检查某个操作的整数值 i 增加计数变量 并将值保存
  • 并行运行多个任务

    我有一个代理列表 每个代理都会访问不同的站点并从站点中提取所需的数据 目前它一次只做一个 但我希望同时运行 10 20 个任务 这样它就可以一次性从 20 个站点下载 而不是只下载一个 这是我目前正在做的事情 private async T
  • 如何使用T4从一个模板同时生成两个文件?

    我遇到的情况是 我需要生成两个 CSharp 代码文件 它们的代码几乎相同 但方法的输入和输出类型的命名空间不同 事实上 每个文件都针对特定国家 地区 并且类型来自特定国家 地区的 WSDL 我正在围绕服务编写一些包装器 逻辑完全相同 但从
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 注入包含接口的所有已注册实现的 Enumerable

    给出以下接口 public interface IMyProcessor void Process 我希望能够注册多个实现 并让我的 DI 容器将它们的可枚举注入到这样的类中 public class MyProcessorLibrary
  • C# 可以为控制台应用程序部分类“程序”类吗?

    我想知道是否可以将为任何控制台应用程序创建的默认 程序 类更改为部分类 我想这样做是因为我想要更好的组织 而不是将所有方法都放在按区域分类的 1 个文件中 对我来说 将某些方法类别放在单独的文件中会更有意义 我对分部类的理解是 它是多个文件
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 使用未命名命名空间而不是静态命名空间

    我可以假设在未命名命名空间中声明的对象相当于static namespace int x 1 static int x 2 FWIK 在这两种情况下 x将具有静态存储期限和内部链接 声明为的对象的所有规则也是如此static适用于未命名名称
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • 为什么存在系统调用

    我一直在阅读有关系统调用及其在 Linux 中如何工作的内容 我还有更多的阅读要做 但我读过的一件事都没有回答 那就是 为什么我们需要系统调用 我知道系统调用是用户空间程序要求内核执行某些操作的请求 但我的问题基本上是 为什么用户空间程序本
  • 异步/等待 - 是*并发*吗?

    我一直在考虑 C 5 中新的异步内容 并且出现了一个特殊问题 据我了解 await关键字是一个简洁的编译器技巧 语法糖来实现连续传递 http en wikipedia org wiki Continuation passing style
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • OpenGL 纹理未显示

    我试图在 OpenGL 中显示一个简单的纹理 来自数组 但我只得到一个空白的白色屏幕 我生成纹理的代码 GLbyte textureData 0 0 0 255 0 0 0 255 0 0 0 255 GLsizei width 2 GLs
  • 如何在 MVC 控制器中实现数据访问层

    我知道数据访问层或简单的 DAL 用于访问和检索数据库中的信息 但我不确定如何在控制器内调用 DAL 数据 例如 我在 DAL 中创建了这个静态类 但我不确定如何将其调用到我的控制器 任何帮助或指南将不胜感激 DohvatiMetodu 是
  • 无法在另一个类的 swing 组件中设置值

    我的 UI 有这个类 public class MyFrame extends JFrame JTextArea textArea public MyFrame setSize 100 100 textArea new JTextArea
  • 使用 Jackson 反序列化重复键以列出

    我正在尝试将 json 反序列化为对象 但是 json 有重复的键 我无法更改 json 我想使用 Jackson 将重复键更改为列表 这是我检索的 json 的示例 myObject foo bar1 foo bar2 这是反序列化后我想
  • PassportJS 重定向循环

    下面是我的代码 restify require restify passport require passport GoogleStrategy require passport google Strategy jsonContentTyp
  • 计算两个日期之间的差异返回负数

    我正在尝试计算不同日期之间有多少天 正如主题所说 我得到了负值 我想我可以只取绝对值 但它返回负值的事实让我怀疑计算是否正确 下面是我的代码 DateTime previousDay new DateTime 1998 6 31 new G
  • 将 Pandas 数据框中的特定列添加到另一个 Pandas 数据框中

    我正在尝试向 pandas 数据框 df1 添加一列 该数据框具有来自另一个具有相同唯一标识符 sameid 的数据框 df2 的唯一标识符 id 列 我尝试过合并 但我只需要添加一个特定列 addthiscolumn 而不是所有列 做这个
  • 使用默认程序打开文件

    在我的应用程序中 我想使用正确的默认程序打开一些文件 例如 doc 文件应该使用 WORD 打开 psd 文件应该使用 Photoshop 打开 如果安装了 这应该在 html 或 java 脚本下完成 请告诉我该怎么做 JavaScrip
  • 如何在视图寻呼机中制作地图重叠布局

    我有包含地图视图的嵌套片段 除了地图视图之外 所有视图都按照我的预期重叠 我也有一个回收视图 它显示在剪切布局下 但没有映射 截屏 我得到的结果是 结果是我所期望的 我尝试设置负边距 但它不适用于地图视图 代码 fragment aroun
  • cakephp 3.x 保存嵌套(深层)关联

    我有来自第 3 方服务调用的产品数据 然后我从中创建一个对象并将其保存到我的 MySQL 数据库 我的模型如下 产品 hasMany gt gt product sku hasMany gt gt product sku attribute
  • 将数据库从 SQL Server 2012 降级到 2008 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想将数据库降级到SQL Server 2008企业版 我知道没有直接的选择 我尝试在 2012 年进行备份 然后在 2008 年进行恢复 不起作用 关于如何完全传输数据库有什么想法
  • USB 调试时 Android-Studio 因 ArrayOutOfBounds 异常而无法使用

    我在 Opensuse 13 2 上安装可用的 Android Studio 时遇到了很大的困难 我尝试过Java OpenSDK 1 7 0 75 b13和1 8 0 40 b10以及Oracle 1 8 0 31 b13 设置STUDI
  • 如何解决有关字符文字的 C4428 Visual C++ 警告的此实例?

    当前 Visual C 问题C4428 warning 源中遇到的通用字符名称 在下面的代码上 const wchar t someMagicValue L ufffd 我想解决这个警告 我想知道是否存在以下问题 const wchar t
  • 本地文件系统上的独立 HBase 出现 Zookeeper 错误?

    大家好 我正在尝试遵循HBase快速入门并在本地文件系统上启动 HBase 不使用 HDFS 但是 当我使用 hbase shell 启动 shell 并输入 status 时 我收到 Zookeeper 错误 hbase main 001
  • 如何避免缩进的嵌套承诺?

    我听说承诺在代码中应该是线性的 而不是回调 回调地狱 尽管我仍然有一个类似于回调地狱的场景 并希望 Promise 能够兑现其承诺 并具有与此问题代码等效的线性语法 给出的承诺p q w 考虑这段代码 p then gt q then gt
  • 在 Windows 上安装 Theano - DLL 加载失败

    我正在尝试在 Windows 8 上安装 Theano 已关注these steps 我尝试使用以下方法进行测试 import numpy as np import time import theano print blas ldflags
  • 合并一个 data.frame 中的行

    这是一个非常相似的问题将两行合并到一个数据框中但我有字符串变量 只想折叠一些具有相同国家 地区名称的行 我改编了MWER data lt data frame code c 345 346 name Yemen v1 c text1 v2
  • 当我查看包含 YoutubePlayerController 的页面时,下一页停止工作

    Problem 加载 YoutubePlayerIFrame 后下一页的小部件将不起作用 例如 假设您有 A 和 B 有状态小部件 首先加载 A 其中YoutubePlayerIFrame叫做 您可以按 A 中的按钮 但是当您移动到 B 时
  • 如何匹配目标中的双干,如 %/% 或其他方式?

    我需要建立具有如下名称的目标 v1 thread4 foo v1 thread8 foo v1 thread16 foo v2 thread4 foo v2 thread8 foo v2 thread16 foo 我想匹配thread an
  • ReadStreamAsDT - Filehelpers 和 C# - 如何使用 filehelpers 动态读取 CSV?

    我正在尝试通过 FileHelpers 动态读取 CSV 并将 CSV 数据作为数据表使用 我的 CSV 文件不会相同 它们将具有不同的列标题和不同数量的列 我正在使用 ReadStreamAsDT 方法 但似乎仍然需要一个结构化类来初始化