C# 读取 CSV 文件并将其值存储到数组中

Minahil Noor 2023年1月30日 2020年6月9日
  1. C# 使用 StreamReader 类读取 CSV 文件并将其值存储到数组中
  2. C# 使用 Microsoft.VisualBasic.FileIO 库的 TextFieldParser 读取 CSV 文件并将其值存储到数组中
C# 读取 CSV 文件并将其值存储到数组中

CSV 文件是 Comma Separated Values,用于以有组织的方式存储数据。它通常以表格形式存储数据。大多数企业组织将其数据存储在 CSV 文件中。

在 C# 中,我们可以对 CSV 文件执行各种操作。我们可以读取,写入和更改 CSV 文件。本文重点介绍各种读取 CSV 文件并将其数据存储到数组中的方法。

C# 使用 StreamReader 类读取 CSV 文件并将其值存储到数组中

在 C# 中,StreamReader 类用于处理文件。它会打开,读取并帮助你对不同类型的文件执行其他功能。使用此类时,我们还可以对 CSV 文件执行不同的操作。

OpenRead()方法用于打开 CSV 文件,而 ReadLine()方法用于读取其内容。

使用 OpenRead()和 ReadLine()方法的正确语法如下:

//OpenRead() Syntax
File.OpenRead(@"FilePath");
//ReadLine() Syntax
StreamReaderObject.ReadLine();

示例代码:

using System.IO;
using System.Collections.Generic;
using System;

class ReadingCSV
{
    static void Main(string[] args)
    {
        var reader = new StreamReader(File.OpenRead(@"D:\New folder\Data.csv"));
        List<string> listA = new List<string>();
        List<string> listB = new List<string>();
        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine();
            var values = line.Split(';');

            listA.Add(values[0]);
            listB.Add(values[1]);
            foreach (var coloumn1 in listA)
            {
                Console.WriteLine(coloumn1);
            }
            foreach (var coloumn2 in listA)
            {
                Console.WriteLine(coloumn2);
            }
        }
    }
}

输出:

//Contents of the CSV file

C# 使用 Microsoft.VisualBasic.FileIO 库的 TextFieldParser 读取 CSV 文件并将其值存储到数组中

在 C# 中,我们有一个文件解析器,可以根据文件的内容来解析文件。TextFieldParserMicrosoft.VisualBasic.FileIO 库中定义。在执行下面的程序之前,请不要忘记添加对 Microsoft.VisualBasic 的引用。

使用此解析器的正确语法如下:

TextFieldParser ParserName = new TextFieldParser(PathString);

示例代码:

using System;
using Microsoft.VisualBasic.FileIO;

class ReadingCSV
{
   public static void Main()
    {
        string coloumn1;
        string coloumn2;
        var path = @"D:\New folder\Data.csv";
        using (TextFieldParser csvReader = new TextFieldParser(path))
        {
            csvReader.CommentTokens = new string[] { "#" };
            csvReader.SetDelimiters(new string[] { "," });
            csvReader.HasFieldsEnclosedInQuotes = true;

            // Skip the row with the column names
            csvReader.ReadLine();

            while (!csvReader.EndOfData)
            {
                // Read current line fields, pointer moves to the next line.
                string[] fields = csvReader.ReadFields();
                coloumn1 = fields[0];
                coloumn2 = fields[1];
            }
            
        }
    }
}

相关文章 - Csharp CSV

相关文章 - Csharp Array