【问题标题】:Read a specific column from a csv file in C#从 C# 中的 csv 文件中读取特定列
【发布时间】:2011-04-20 07:31:05
【问题描述】:

我有一个简单的 3 列 csv 文件,我只需要从第一列中提取信息。我在考虑正则表达式,但我希望有一种更简单更有效的方法。

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 列值的长度是否不同?
  • 是的。第一列中的值是唯一 ID
  • 第二句并不真正暗示长度变化,因为唯一 ID 可能是一个始终相同大小的 GUID。

标签: c# csv


【解决方案1】:

试试这个A Fast CSV Reader

【讨论】:

    【解决方案2】:

    您可以使用Microsoft.VisualBasic.FileIO 命名空间中的TextFieldParser 类。

    它将解析文件并可以查询生成的对象,因此您将能够获取第一列中的值。

    【讨论】:

      【解决方案3】:

      您可以逐行读取,并使用 split 方法将已读取的行拆分为列并保留您想要的列。 Here 是一个关于如何使用拆分方法的简单示例。

      【讨论】:

      • 请注意,简单的拆分在解析 CSV 中的引用字段时会出现问题。
      【解决方案4】:

      我会这样:将 csv 文件加载到数据表中,然后按我想要的方式按列或按行处理它。 这里是a link 一些方向

      【讨论】:

        【解决方案5】:

        正如之前的几十个问题中所说,有两个易于阅读的 .csv 文件的候选者:

        【讨论】:

          【解决方案6】:

          如果您想将该数据提取到类对象中,CsvHelper(我维护的一个库)是一个不错的选择。

          var csv = new CsvHelper( File.OpenRead( "file.csv" ) );
          var myCustomObjects = csv.Reader.GetRecords<MyCustomObject>();
          

          【讨论】:

            猜你喜欢
            • 2021-11-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-02-07
            相关资源
            最近更新 更多