csvファイル中のダブルクォーテーションの判別をするには?

解決


しん  2007-09-01 03:40:35  No: 137294

現在、VB2005を用いて「csvデータの読み取り」を行なっています。

区切り文字であるカンマを見つけ、
そこで分別して表示をすることは出来るのですが、
ダブルクォーテーションの中にあるカンマまで区切ってしまうのです。
つまり、

A1,A2,A3,"A4,A5,A6",A7,A8

というcsvデータを読み込んだとき、結果として

A1 A2 A3 "A4 A5 A6" A7 A8

のように、すべてが別々のセルに代入されてしまいます。
理想の結果としては、

A1 A2 A3 "A4,A5,A6" A7 A8

というように、""で区切ってある部分を一つの文字列として代入したいのですが、
その方法がよく分かりません。

現在はこのような感じで読み取っています。

  Dim delim() As Char = {","c}

  sr = New System.IO.StreamReader(filePath,System.Text.Encoding.Defau
lt)

     Do While sr.Peek() >= 0

        dat = sr.ReadLine()

        sbuf = dat.Split(delim)

        r = DataGridView1.Rows.Add()

        Do While j < 列の数
           DataGridView1(j, r).Value = sbuf(j)
           j = j + 1
        Loop
        j = 0

     Loop

  sr.Close()

どなたかご存知の方がいらっしゃいましたら、ご教示お願い致します。
長い文章になってしまい、申し訳りません。


(報告)  2007-09-01 03:51:06  No: 137295

MOUGはマルチポスト禁止なので、
閉じといてくださいね。

http://www2.moug.net/bbs/program/20070831000002.htm


しん  2007-09-01 17:33:05  No: 137296

事情を知らず、申し訳ありませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加