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