ハテナキハテナ --unics’s think/sync

福井のまんなかでぼんにょり呟く、ゆにくすの日々オボエガキなど。

TextFieldParserを使ったcsv読み込み。

.NET2.0のみですが、Microsoft.VisualVasic.FileIOパッケージのTextFieldParserクラスでcsv読み込みがらくちんポンにできるみたいですよ。

// ファイルを区切り文字形式で読み込み
TextFieldParser parser = new TextFieldParser("text.csv",
    System.Text.Encoding.GetEncoding("Shift_JIS"));
parser.TextFieldType = FieldType.Delimited;
// 区切り文字はコンマ
parser.SetDelimiters(","); 

while (!parser.EndOfData) {
  string[] row = parser.ReadFields(); // 1行読み込み

  // 配列rowの要素は読み込んだ行の各フィールドの値

}

FileStreamとかでぽちっぽち取得してstringに成形してSplitで区切ってほにゃほにゃ〜とするより手順少ない、というかわかりやすいかなぁと思います。VisualBasicパッケージをC#から使うのはなんとなくちょっと抵抗ありますが、とりあえずこれで今回の案件はやってみます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html

qqq for your reading!!
(c)Electro-U-nics --since 2004.03.26