问题标签 [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 投票
2 回答
1009 浏览

c# - CsvHelper 从抽象类保存派生类对象

请注意,这ObservableObject是来自 Mvvm-light。

对于上述模型,我使用CsvHelper如下。

它抛出如下错误;

没有为“AbstractModel”类型映射任何属性

当我设置时它工作正常RealModel instance = new RealModel();。但是,我有各种派生类,并希望将它们保存在一个 Save 方法中。

我能怎么做?

0 投票
1 回答
1207 浏览

c# - csvHelper 在映射器中从一个对象投射到另一个对象

我正在使用CsvHelper并尝试根据某些属性的值映射不同的属性。

这不起作用导致异常:

System.ArgumentException:不是成员访问参数名称:表达式

所以我想我会尝试创建一个新类,从我的基础对象继承,然后在映射类型中指定这些。

这种新类型在属性中直接执行此逻辑。

我尝试使用这个新类作为我的地图类型,但进入助手的 WriteRecords 方法的对象是基本类型,这不会进行强制转换来更改它。

所以我试着在映射上做演员:

这也不起作用,也没有找到对象上的属性。

任何人都遇到过这个并知道如何解决它?

编辑:自定义映射器部分

0 投票
1 回答
815 浏览

c# - CsvHelper流畅的类映射ConstructUsing()在引用的地图中被忽略了吗?

我想知道我是否做得对,但我正在使用CsvHelper并定义了以下流利的类映射:

这些类映射旨在能够以不特定顺序将动态列名映射到我的类型WasteEstimationGenericDay,但是问题是在将值映射到类型之前我需要指定这些值所在的单位,这就是为什么ConstructUsing()在每个类中指定map 在构建映射类型的过程中设置单位。

WasteStreamQuality但是,对于属性 ConstructUsing() 上的类型的引用类映射,WasteEstimationGenericDay.Quality, the永远不会调用语句,也不会指定单位。有谁知道我在映射配置中是否做错了什么?或者这是CsvHelper中的错误/限制?

我还尝试在配置上分别注册两个类映射,如下所示:

但它似乎没有任何影响,除非它是调用时指定的类型CsvReader.GetRecords<T>()

谢谢你的帮助。

0 投票
4 回答
6125 浏览

c# - 如何上传csv文件并解析它?

我需要上传 csv 文件并解析它。我可以在 http 正文请求中看到文件,但是当我在 csvreader 中传递它时,我可以看到像标题一样的 base64 字符串: 在此处输入图像描述

在客户端,我使用 angularjs:

并致电:

在服务器端我使用 webapi2:

http请求有效载荷

------WebKitFormBoundarySKPlgJRINOMnpxVP Content-Disposition: form-data; 名称="文件"

更新

@Ubercode 建议我将 base 64 转换为字符串,我做到了,但看起来很恶心:

0 投票
1 回答
1842 浏览

c# - 将标题记录写入 CSV 文件

我正在使用 CSVHelper 将 DataReader 结果写入 csv 文件,并且一切正常,除了我需要手动输入我的标题名称而不是仅从数据读取器中提取列名。

所以目前我使用以下内容来获取我的数据并放置一个标题:它来自 CSVHelper 的文档:http: //joshclose.github.io/CsvHelper/#misc-faq

我基本上希望在我的类允许它返回的 3 列中添加一个手动名称,而不是上面使用的 rdr.GetName(i) 方法。

有没有人有任何解决方案?我试过做一个 csv.WriteField("namehere"[i]); 这显然不起作用,而是将每个字母跨越三列然后停止。

0 投票
2 回答
4096 浏览

asp.net-mvc - 使用 CSV Helper 解析时未找到任何标头记录

在这个问题上,我似乎已经没有什么想法了。我已将其简化为尽可能简单,但每次我都会收到“未找到标题记录”错误。

我的 CSV 文件

我的模型

我的地图课

控制器代码

我正在上传文件的 MVC 模型

当我上传文件时,它就在那里。但是当 GetRecords 运行时,我得到了错误。

感谢您的任何帮助。这似乎应该非常简单,但我一定遗漏了一些东西。

0 投票
2 回答
4110 浏览

c# - CsvHelper 和并行查询大型 csv 文件

我有一个 3.6 gig 的 csv 文件。我正在使用 CsvHelper 来处理它。当我使用 linq 查询它时,需要几分钟,我看到我的 PC 上的 CPU 最多只有 25% 左右。这样做时,Linq 似乎可以很好地处理内存,因为这根本不会增加太多。

所以我想通过添加 .AsParallel() 我应该看到一些性能提升。当我用它运行它时,我看到我的 CPU 上升到大约 95%,但它需要的时间也一样长。

为什么我看不到 .AsParallel() 的性能提升,有没有办法通过它获得更好的性能(将其保留为 csv)。

0 投票
2 回答
9980 浏览

c# - CsvHelper 解析 csv 并将字符串转换为 DateTime

我正在使用 CsvHelper 并能够解析 csv 文件。我的问题是如何解析DateintoDateTime对象

我想在解析 csv 而不是迭代集合时通过 CsvHelper 转换它

CSV 示例

0 投票
1 回答
1186 浏览

c# - CSVHelper 读取 CSV 到自定义对象的问题

我正在尝试将 CSV 文件读入我的自定义对象,但每次我收到一个错误消息,指出此类字段不存在。然而,它们确实存在。

这是我的代码:

当我尝试通过访问某个字段时,getField<string>(Index)对于高于 0 的所有索引都会出现相同的错误。getField<string>(0)返回用 . 分隔的整行;。怎么了?

0 投票
6 回答
99285 浏览

c# - c#中JSON字符串到CSV和CSV到JSON的转换

我在我的 asp.net Web API 项目中使用 JSON/CSV 文件,并尝试使用CSVHelperServiceStack.Text库,但无法使其工作。

包含数组的 JSON 文件是动态的,可以有任意数量的字段

我使用 streamreader 读取文件,然后需要将其转换为 CSV 文件以供最终用户下载。

示例文件文本

JSON 转 CSV

这不会导致我 CSV 数据

在此处输入图像描述

然后一些文件是带有逗号或制表符的分隔符类型,我想利用CSVHelper将 CSV 字符串动态转换为 IEnumerable