.NETにはCSV形式のファイルを読み込むクラスTextFieldParserが用意されている。
using Microsoft.VisualBasic.FileIO; public void CSVFileRead(string filename) { TextFieldParser parser = new TextFieldParser(filename, System.Text.Encoding.GetEncoding("Shift_JIS")); using (parser) { // 区切り文字を,に指定 parser.SetDelimiters(","); while(!parser.EndOfData) { // 1行読み込み string[] row = parser.ReadFields(); // 文字列の配列に格納されているのを表示 foreach (string field in row) { Console.WriteLine(field); } } } }
しかし、Visual C# Express Editionでビルドしようとしたところ、FileIOが見つからないというエラーが。これはアセンブリ参照が足りないために起きるエラー。
そこで、ソリューションエクスプローラでプロジェクトの参照設定のところを右クリックして、参照の追加メニューからMicrosoft.VisualBasicを追加。これでビルドできるようになった。
参考:http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html