【发布时间】:2011-04-20 07:31:05
【问题描述】:
我有一个简单的 3 列 csv 文件,我只需要从第一列中提取信息。我在考虑正则表达式,但我希望有一种更简单更有效的方法。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
列值的长度是否不同?
-
是的。第一列中的值是唯一 ID
-
第二句并不真正暗示长度变化,因为唯一 ID 可能是一个始终相同大小的 GUID。
我有一个简单的 3 列 csv 文件,我只需要从第一列中提取信息。我在考虑正则表达式,但我希望有一种更简单更有效的方法。
任何帮助将不胜感激。
谢谢
【问题讨论】:
【讨论】:
您可以使用Microsoft.VisualBasic.FileIO 命名空间中的TextFieldParser 类。
它将解析文件并可以查询生成的对象,因此您将能够获取第一列中的值。
【讨论】:
您可以逐行读取,并使用 split 方法将已读取的行拆分为列并保留您想要的列。 Here 是一个关于如何使用拆分方法的简单示例。
【讨论】:
我会这样:将 csv 文件加载到数据表中,然后按我想要的方式按列或按行处理它。 这里是a link 一些方向
【讨论】:
正如之前的几十个问题中所说,有两个易于阅读的 .csv 文件的候选者:
【讨论】:
如果您想将该数据提取到类对象中,CsvHelper(我维护的一个库)是一个不错的选择。
var csv = new CsvHelper( File.OpenRead( "file.csv" ) );
var myCustomObjects = csv.Reader.GetRecords<MyCustomObject>();
【讨论】: