目次
経緯
C#を使って、CSVファイルのデータを読み込む処理を実装してみました。
今回はデータの加工や分析の前段階として、「CSVファイルを読み込む処理」だけに絞って学習しています。
CSV読み込みは、業務アプリや個人ツールでも非常に頻出の操作であり、基本となる処理です。
使用する関数:File.ReadAllLines と Split(‘,’)
File.ReadAllLines()
:CSVファイルを1行ずつすべて読み込むメソッドですSplit(',')
:各行をカンマで分割し、列単位の値として配列に分解できます
この2つを組み合わせることで、簡潔なCSV読み込み処理が実現できます。
実装コード:CSVファイルの読み込み処理
以下は、フォームに配置したボタン btnReadcsv
をクリックすると、指定したCSVファイルを読み込んで処理する例です。
private void btnReadcsv_Click(object sender, EventArgs e)
{
// CSVファイルをすべての行ごとに読み込む
var lines = File.ReadAllLines("path_to_your_file.csv");
foreach (var line in lines)
{
// カンマで分割して、各列の値を配列で取得
var values = line.Split(',');
// ここから各値を加工・変換・検証など可能
}
}
※ファイルパス "path_to_your_file.csv"
は、絶対パスまたは相対パスに置き換えてください。
このコードのポイント
File.ReadAllLines()
はファイル全体を一括で読み込むので、小〜中規模のCSVファイルに適しています- 行ごとに
Split(',')
を適用し、各列の値を文字列配列として取得 - 加工や変換処理をforループ内に追加するだけで拡張可能
応用アイデア
- 取得した値を
List<string[]>
などに格納し、あとから一覧表示や集計処理に利用 - 数値変換 (
int.Parse
,double.TryParse
) を行って統計分析に応用 - 必要な行・列のみを抽出して別のファイルに保存する処理への発展も可能
注意点
- 読み込みファイルが大きい場合は、
File.ReadLines()
のようにストリーム処理を使う方がメモリ効率が良いです - データ内にカンマを含む場合は、CSV専用パーサー(例:CsvHelper) の使用も検討すると良いでしょう
- ファイルの存在確認や例外処理(
try-catch
)も、実用的なシステムでは追加すべきです
まとめ
CSVファイルを読み込む処理は、C#においても非常にシンプルに記述できます。File.ReadAllLines
と Split(',')
の組み合わせを覚えておけば、基本的なCSV読込処理は十分対応可能です。
今後はこの処理をもとに、フィルタリングや統計処理、画面表示への応用も進めていきたいと考えています。
最後までお読みいただきありがとうございました。