Gar*_*eth 17 .net c# csv oledb
可能重复:
CSV文件导入.Net
在.net中,是否有一个标准库应该用于读取csv文件?Web上的所有示例都会使用自己的csv阅读器/解析器,或者使用OleDb.
使用任何这些解决方案都不是问题,我只是想知道是否有一个普遍接受的库(不是我能找到的),或者其他任何"正确"的方法吗?
lav*_*nio 10
许多人自己编写的原因之一是CSV并不那么简单.例如:
这些是人们编写自己的解析器的一些原因,因为它们无法读取使用所有这些不同设置创建的文件.或者他们编写自己的序列化程序,因为目标系统有一堆这些特性.
如果您不关心这些问题,只需使用最方便的库.但要明白他们在那里.
aSk*_*ker 10
VB命名空间有一个很棒的TextFieldParser类.我知道,c#人不喜欢用这种"基本"语言来引用库,但它非常好.
它位于Microsoft.VisualBasic.FileIO.TextFieldParser
我曾经搞乱OLEDB,创建列定义文件等 - 但是发现TextFieldParser是一个非常简单和方便的工具,用于解析任何分隔文件.
尝试CsvHelper(我维护的库).它也可以通过NuGet获得.
CsvHelper允许您直接将CSV文件读入自定义类.
var streamReader = // Create a reader to your CSV file.
var csvReader = new CsvReader( streamReader );
List<MyCustomType> myData = csvReader.GetRecords<MyCustomType>();
Run Code Online (Sandbox Code Playgroud)
CsvReader将根据标题行自动确定如何匹配属性名称(这是可配置的).它使用编译的表达式树而不是反射,所以它非常快.
它也是非常可扩展和可配置的.
| 归档时间: |
|
| 查看次数: |
14133 次 |
| 最近记录: |