问题标签 [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 回答
21393 浏览

asp.net-mvc-3 - 使用带有 C# MVC 的 csvhelper (nuGET) 导入 CSV 文件

通过 NuGet 获得的https://joshclose.github.io/CsvHelper/用于读取和写入 CSV 文件。

CsvHelper 允许您将 CSV 文件直接读取到您的自定义类中。

如上一个问题所示

CsvReader 将根据标题行自动计算出如何匹配属性名称(这是可配置的)。它使用编译的表达式树而不是反射,因此速度非常快。

它也是非常可扩展和可配置的。

我基本上是在尝试研究如何读取带有标题(未知名称)的 CSV 文件并将记录读入自定义对象。

根本没有这方面的文档,所以想知道是否有人知道如何使用 CsvReader 将值按顺序放入字符串数组中,或者您建议如何处理这个问题?

0 投票
6 回答
96837 浏览

c# - 在 C# 中,如何从字符串创建 TextReader 对象(不写入磁盘)

我正在使用A Fast CSV Reader将一些粘贴的文本解析到网页中。快速 CSV 阅读器需要一个 TextReader 对象,而我只有一个字符串。将字符串即时转换为 TextReader 对象的最佳方法是什么?

谢谢!

更新-示例代码-在原始示例中,一个新的 StreamReader 正在寻找一个名为“data.csv”的文件。我希望通过 TextBox_StartData.Text 提供它。

使用下面的代码无法编译。

new StreamReader(sr)告诉我它有一些无效的论点。有任何想法吗?

作为另一种方法,我试过这个:

但我得到了Illegal characters in path Error.一个来自 TextBox_StartData.Text 的字符串示例:

如果这是正确的方法,有什么想法吗?再次感谢您的帮助!

0 投票
2 回答
12783 浏览

c# - 在文件上传时使用 CSVHelper

我正在尝试使用 CSVhelper 插件来读取上传的 CSV 文件。这是我的modelBinder类:

这些是我试图映射到的对象:

在 Visual Studio 调试器中,我收到一个错误:

  • base {"You must call read on the reader before accessing its data."} CsvHelper.CsvHelperException {CsvHelper.CsvReaderException}

0 投票
2 回答
6226 浏览

c# - 使用 CsvHelper 可以将空白转换为可为空的吗?

我有一些非常蹩脚的 Csv 文件需要解析。我正在使用 CsvHelper,它工作得很棒。除了我有一些有空格的行,通常我有一个双倍。

文件:

文本,SomeDouble,MoreText

“好”,1.23,“好”

“坏”、“坏”

如果我尝试将其映射到

然后我收到这样的错误:

CsvHelper.CsvReaderException:尝试读取类型的记录时发生错误

行:'2'(基于 1)

字段索引:'1'(从 0 开始)

字段名称:“SomeDouble”

字段值:“”

System.Exception:不是 Double 的有效值。---> System.FormatException:输入字符串的格式不正确。
在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) 在 System.ComponentModel.DoubleConverter.FromString(String value, NumberFormatInfo formatInfo) 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo 文化, Object value) - -- 内部异常堆栈跟踪结束 --- 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfoculture, Object value) 在 System.ComponentModel.NullableConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfoculture, Object value) 在 lambda_method( CsvHelper.CsvReader.d__0`1.MoveNext() 处的闭包、ICsvReader

正如我所看到的,我的选择是创建一个自定义解析器,或者将我的值映射到一个字符串属性并在那里进行解析。

还有其他选择吗?

如果我可以配置我想将空白视为空,那就太好了。

根据要求,这是一个重现问题的代码示例

谢谢。

0 投票
5 回答
31112 浏览

c# - CsvHelper 没有向内存流写入任何内容

我有以下方法:

使用对象列表调用它 - 最终来自数据库,但由于某些东西不起作用,我只是填充一个静态集合。传递的对象如下:

我想要做的是将集合写入 csv 以在 MVC 应用程序中下载。不过,每次我尝试写入该方法时,MemoryStream 都会以零长度返回,并且没有任何内容传递给它。我以前用过这个,但由于某种原因它不起作用——我有点困惑。谁能指出我在这里做错了什么?

干杯

0 投票
3 回答
974 浏览

c# - CsvHelper 不公开 WriteRecords

我刚刚通过 Nuget 将 CsvHelper 添加到我的项目中。在这里查看 CsvHelper wiki 页面:https ://github.com/JoshClose/CsvHelper/wiki/Basics ,它说 CsvHelper 公开了 WriteRecords 方法。

它去哪儿了?我在程序集中找不到它。

WriteRecords 方法去哪儿了?

0 投票
5 回答
19085 浏览

c# - 如何使用 CsvHelper 仅将选定的类字段写入 CSV?

我用来CsvHelper读写 CSV 文件,它很棒,但我不明白如何只编写选定的类型字段。

假设我们有:

我们想CsvField从我们目前通过以下方式生成的结果 CSV 文件中排除“数量”:

我可以使用什么来从 CSV 中动态排除类型字段?

如果有必要,我们可以处理生成的文件,但我不知道如何删除整个 CSV 列CsvHelper

0 投票
2 回答
3367 浏览

c# - 有什么方法可以使用 CsvHelper 更改标题行属性?

我正在使用 CsvHelper 编写一个将一堆数据输出到 CSV 文件的程序。标题行是一行大约 35 列。这是这里的一些代码......

我只是想知道我是否可以,可以这么说,改变列宽或改变单元格的背景颜色或做任何事情。我已经在网上搜索了一段时间,但没有提出任何建议。任何帮助将不胜感激。

0 投票
4 回答
15705 浏览

c# - CsvHelper - 将多列读入单个列表

我正在使用CSVHelper读取大量数据

我想知道是否可以读取最后一n列并将它们转换为列表

并将数据塑造成这样的东西

我希望一步完成,我敢肯定我可以有一个中间步骤,在其中我放入一个具有匹配属性属性的对象,但最好在一个单一的

0 投票
1 回答
2097 浏览

c# - CsvReader 映射和转换:无强制运算符

首先,感谢您的宝贵时间。我第一次尝试使用 CsvHelper 以及自定义类和自定义地图。我收到“在类型 'System.Int32' 和 'System.String' 之间没有定义任何 cercion 运算符”

这是我的课程:

这是我正在阅读文件的地方:

理想情况下,我希望 HOLD、TAX99TYPE 和 TAX99BOXNUMBER 属性类型为“短”。但是,我收到错误“无法执行转换”。

这是我的测试 CSV 的一部分: