C# で CSV ファイルを読み込み、その値を配列に格納する
Minahil Noor
2023年10月12日
-
CSV
ファイルを読み取り、その値をStreamReader
クラスを使用して配列
に格納する C# プログラム -
CSV
ファイルを読み取り、その値をMicrosoft.VisualBasic.FileIO
ライブラリのTextFieldParser
を使用してArray
に格納する C# プログラム
CSV
ファイルはカンマ区切りのファイルで、整理された方法でデータを保存するために使用されます。通常、データは表形式で格納されます。ほとんどの企業では、データを CSV
ファイルに保存しています。
C# では、CSV
ファイルに対してさまざまな操作を実行できます。CSV
ファイルの読み取り、書き込み、変更を行うことができます。この記事では、CSV
ファイルを読み取り、そのデータを配列に保存するさまざまな方法に焦点を当てています。
CSV
ファイルを読み取り、その値を StreamReader
クラスを使用して配列
に格納する C# プログラム
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
CSV
ファイルを読み取り、その値を Microsoft.VisualBasic.FileIO
ライブラリの TextFieldParser
を使用して Array
に格納する C# プログラム
C# には、その内容に基づいてファイルを解析する File Parser
があります。TextFieldParser
は Microsoft.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];
}
}
}
}