C#でCSVファイルからデータ読み込む(StreamReaderクラスとString.Splitメソッドによる方法)
ファイルへの書き込みは以下
C#でCSVファイルにデータを書き込む
ソースコード
ファイルからの読み込みにはStreamReaderクラスを,文字をカンマごとに区切るのにはString.Splitメソッドを使用する.
Nugetで検索したら便利そうなライブラリはたくさんあるし,Microsoft.VisualBasic.dllに含まれるTextFieldParserクラスを使う方法とかもあるが,ここではお手軽に使えるStreamReaderとString.Splitを使用.
以下は,CSVファイルから読み込んだ値をスペース区切りで画面に出力するプログラム.
ダブルクォートがあってもそのまま除去できないし,データにカンマが含まれるものも扱えない.タイトル行とかももちろん認識しない.
static void ReadCsv() { try { // csvファイルを開く using (var sr = new System.IO.StreamReader(@"test.csv")) { // ストリームの末尾まで繰り返す while (!sr.EndOfStream) { // ファイルから一行読み込む var line = sr.ReadLine(); // 読み込んだ一行をカンマ毎に分けて配列に格納する var values = line.Split(','); // 出力する foreach (var value in values) { System.Console.Write("{0} ", value); } System.Console.WriteLine(); } } } catch (System.Exception e) { // ファイルを開くのに失敗したとき System.Console.WriteLine(e.Message); } }