问题标签 [csvhelper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13584 浏览

string - 向 CsvHelper 添加可检测的 Nullable 值

我想知道 Josh Close 的 CsvHelper 是否在我缺少的配置中有任何东西可以将值转换为 null。我是这个库的忠实粉丝,但我一直认为应该有某种配置让它知道你的文件中哪些值代表 NULL。一个示例是具有值“NA”、“EMPTY”、“NULL”等的列。我确信我可以创建自己的 TypeConverter,但我希望有一个更简单的选项可以在配置中的某个位置设置为这在我遇到的文件中很常见。

是否有一个配置设置可以相对容易地做到这一点?

我在 CsvHelper.TypeConversion 命名空间中找到了 TypeConversion,但不确定在哪里应用这样的东西或正确用法的示例:

我也在使用最新版本 2.2.2

谢谢!

0 投票
2 回答
17712 浏览

c# - Csvhelper - 读取/获取所有行的单列?

嗨,我正在使用 csvHelper 读取具有可变列数的 csv 文件。第一行始终包含标题行。列数一开始不知道,有时是三列,有时是30+。行数可以很大。我可以读取 csv 文件,但如何处理每一列数据。我需要对数据进行一些基本统计(例如 min、max、stddev),然后以非 csv 格式将它们写出来。到目前为止,这是我的代码...

谢谢

0 投票
1 回答
6348 浏览

c# - CsvReader 忽略空白列

我是第一次使用 CSVhelper。另一个程序正在导出一个 csv 文件,文件看起来像这样

问题是我一开始就有一个空白列要处理。我不希望用户必须使用 excel 删除列才能使用该文件。那么我怎样才能忽略第一列或将列添加到我的数据表中。

错误(见程序底部附近的注释行)是 csv 文件中不存在字段空白

我的数据阅读课

我有一条评论是错误发生在底部附近

0 投票
2 回答
1140 浏览

c# - 读取每行中具有字段名称的 CSV 文件?

我正在使用 ERP 集成软件。我需要从 HRM 应用程序解析 CSV 文件以进行输入。
我得到这样的输入 CSV 文件:

$Emp.No$=123456,$CardNo$=254658,$InTime$="12/11/2013 09:03:05",$OutTime$="12/11/2013 17:25:20
" No$=565556,$CardNo$=254689,$InTime$="12/11/2013 09:03:50",$OutTime$="12/11/2013 18:01:11"

CSV 文件没有列名标题,而是每个字段在$FieldName$.

我试图用CSVHelper解析它。使用ReadFieldsByIndex()方法时,它工作正常。

问题:
某些列没有$InTime$$OutTime$。因此,按索引读取失败。如何仅读取可用数据以及如何根据每行中可用的字段名称进行映射。

0 投票
1 回答
1273 浏览

c# - 使用 csvhelper 和 memorystream 时错误的字节长度

我正在使用 CSVHelper 将对象列表转换为 csv,然后将其保存到 FTP - 但内容的长度未正确计算,因此内容的结尾被截断。谁能看到我在这里做错了什么?

memoryStream.Length 和 fileContents.Length 都给了我相同的数字,但与实际数据量相比它太小了。

0 投票
1 回答
610 浏览

.net - 是否可以使用 CsvHelper 序列化字段(不仅仅是属性)?

我正在使用CsvHelper但我希望能够序列化字段而不仅仅是属性。有没有办法做到这一点?

请注意,这很难搜索,因为文档使用“字段”一词来表示类属性,但我说的是实际的类字段,即MyIntField在这个类中:

0 投票
1 回答
1158 浏览

.net - CSVHelper 分配记录编号

我正在使用 CSVHelper 库读取 csv 文件进行处理。当文件被读入时,我想跟踪记录的 RecordNumber(或 RowNumber),所以如果出现故障,最终用户将知道文件的哪一部分是罪魁祸首。

如何才能做到这一点?

0 投票
3 回答
22974 浏览

asp.net-mvc - 使用 CSVHelper 将流输出到浏览器

我正在尝试使用 CSVHelper 生成 CSV 文件并将其发送回浏览器,以便用户可以选择保存位置和文件名并保存数据。

该网站基于MVC。这是我用来进行调用的 jQuery 按钮代码(数据是 DTO 列表的一些序列化 Json 表示):

这是控制器代码:

这似乎什么也没做——将方法步骤调用到正确的代码位中,但响应为空,更不用说为用户提供文件对话框来保存数据了。我已经单步执行了这段代码,它从服务中取回数据,写入数据,并且没有抛出任何错误。那么我做错了什么?

编辑:返回这个......

... 给我一个响应,由我期望的 csv 格式的数据组成。但是浏览器似乎仍然不知道如何处理它 - 没有向用户提供下载选项。

0 投票
1 回答
7756 浏览

c# - 如果缺少字段,CsvHelper 会丢弃行

我有一个 CSV 文件,其结构类似于以下内容:

使用 Josh Close 的 CsvHelper 并按以下方式调用GetRecords<T>时:

数据列表不包含第二行。我已经修改了设置并尝试实现一个双转换器,它接受一个空字符串并在为空时返回“0”,但是该行仍然被丢弃。我试图避免对每个字段进行手动获取。但是,我仍然会对逐行解决方案感到满意,即csvReader.GetRecord<TestData>()嵌套在一个循环中。

我有以下测试代码:

交给你了。。

0 投票
4 回答
17413 浏览

.net - 如何将 CsvHelper 记录添加到 DataTable 以用于 SqlBulkCopy 到数据库

我正在尝试使用 CsvHelper 读取 CSV 文件,将每条记录加载到 DataTable 中,然后使用 SqlBulkCopy 将数据插入数据库表中。使用当前代码,在向 DataTable 添加行时出现异常。例外情况是:“无法将 'MvcStockAnalysis.Models.StockPrice' 类型的对象转换为 'System.IConvertible' 类型。无法存储在日期列中。预期类型为 DateTime。”

示例 CSV 文件来自 yahoo Finance。例如: http: //ichart.yahoo.com/table.csv ?s=MMM&a=0&b=1&c=2010&d=0&e=17&f=2014&g=d&ignore=.csv

CSV 文件包含以下标题: Date Open High Low Close Volume Adj Close

我正在将 CSV 文件读入的模型:

CSV 文件到 StockPrice 类的映射使用以下内容:

尝试将 CsvHelper 记录添加到 DataTable 的代码如下:

如何将 CsvHelper 记录添加到 DataTable 以用于 SqlBulkCopy 到数据库?