Parsing CSV files in C#, with header(在 C# 中解析带有标题的 CSV 文件)
问题描述
是否有默认/官方/推荐的方式来解析 C# 中的 CSV 文件?我不想滚动我自己的解析器.
Is there a default/official/recommended way to parse CSV files in C#? I don't want to roll my own parser.
此外,我还看到人们使用 ODBC/OLE DB 通过文本驱动程序读取 CSV 的实例,但由于它的缺点",很多人不鼓励这样做.这些缺点是什么?
Also, I've seen instances of people using ODBC/OLE DB to read CSV via the Text driver, and a lot of people discourage this due to its "drawbacks." What are these drawbacks?
理想情况下,我正在寻找一种可以按列名读取 CSV 的方法,将第一条记录用作标题/字段名称.给出的一些答案是正确的,但基本上可以将文件反序列化为类.
Ideally, I'm looking for a way through which I can read the CSV by column name, using the first record as the header / field names. Some of the answers given are correct but work to basically deserialize the file into classes.
推荐答案
让图书馆为您处理所有细节!:-)
Let a library handle all the nitty-gritty details for you! :-)
查看 FileHelpers 并保持干燥 - 不要重复自己 - 无需重新发明轮子无数次....
Check out FileHelpers and stay DRY - Don't Repeat Yourself - no need to re-invent the wheel a gazillionth time....
您基本上只需要通过公共类(以及经过深思熟虑的属性,如默认值、NULL 值的替换等)来定义数据的形状 - CSV 中单独行中的字段),将 FileHelpers 引擎指向一个文件,然后宾果游戏 - 您从该文件中取回所有条目.一个简单的操作 - 出色的性能!
You basically just need to define that shape of your data - the fields in your individual line in the CSV - by means of a public class (and so well-thought out attributes like default values, replacements for NULL values and so forth), point the FileHelpers engine at a file, and bingo - you get back all the entries from that file. One simple operation - great performance!
这篇关于在 C# 中解析带有标题的 CSV 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 C# 中解析带有标题的 CSV 文件
基础教程推荐
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
