C#でCSVを読み取る方法
Microsoft.VisualBasic.FileIO
名前空間に含まれるTextFieldParser
クラスを使用すると、C#でCSVファイルを簡単に読み取ることができます。
using Microsoft.VisualBasic.FileIO;
class Program {
static void Main() {
string filePath = "C:\\csv\\001.csv";
using (TextFieldParser parser = new TextFieldParser(filePath)) {
parser.SetDelimiters(","); // 区切り文字を設定
parser.HasFieldsEnclosedInQuotes = true; // 引用符で囲まれたフィールドを処理
// ヘッダ行を読み飛ばす処理
if (!parser.EndOfData) {
parser.ReadLine();
}
while (!parser.EndOfData) {
string[]? fields = parser.ReadFields();
if (fields != null) {
Console.WriteLine(string.Join(", ", fields)); // 各フィールドを出力
}
}
}
}
}
ヘッダ行が無い場合は、ヘッダ行を読み飛ばす処理は不要です。また、ヘッダ行を読み飛ばさずに列名として処理することもできます。