C#でシンプルなライブラリ「CSV」を使ってCSVを読み込みたい!
概要
今回の記事では、C#でシンプルなライブラリ「CSV」を使ってCSVを読み込む手順を掲載する。
C#でCSVをごにょごにょするのに「CsvHelper」というライブラリが有名なんだけども、今回は「CsvHelper」のように多機能なライブラリではなく、シンプルで簡単に使える「CSV」というライブラリを使ってみる。
「CSV」を使ったCSV出力については下記の記事に掲載した。
仕様書
- .NET 6
- CSV 2.0.93
手順書
例として下記のemployee.csv
を読み込んでみる。
ID,Name,Department,Localtion
1,ジョバンニ,総務部,東京
2,カムパネルラ,営業部,東京
3,ザネリ,開発部,大阪
4,マルソ,製造部,仙台
まずはじめに「NuGetパッケージの管理」を使うか「PM」でInstall-Package Csv
を実行して、プロジェクトにライブラリを追加しておく。
CSVを読み込んで、中身をコンソールに表示するサンプル。
using System;
using System.IO;
using Csv;
internal class Program
{
static void Main(string[] args)
{
string csv = File.ReadAllText("employee1.csv");
foreach (ICsvLine line in CsvReader.ReadFromText(csv))
{
for (int i = 0; i < line.ColumnCount; i++)
{
Console.WriteLine($"{line.Headers[i]}: {line[i]}");
}
}
}
}
CsvReader.ReadFromText
からCSVの行にあたるICsvLine
型のデータを取り出してforeach
でまわしてる。
line.ColumnCount
で列数を取得する。
line.Headers[i]
で列名を取得する。添字で列の番号を指定する。
line[i]
で現在の行の列の内容を取得する。添字で列の番号を指定する。
このコードを実行すると下記のようにコンソールに出力される。
ID: 1
Name: ジョバンニ
Department: 総務部
Localtion: 東京
ID: 2
Name: カムパネルラ
Department: 営業部
Localtion: 東京
ID: 3
Name: ザネリ
Department: 開発部
Localtion: 大阪
ID: 4
Name: マルソ
Department: 製造部
Localtion: 仙台
まとめ(感想文)
入出力にオプションを設定することもできるので、興味のある人はGitHubのライブラリのページを見てみてね!