DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CSV箕荷

  • 題名: CSV箕荷
  • 著者: kenta
  • 日時: 2004/05/17 9:33:28
  • ID: 4050
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
分類:[.NET]

CSVファイルを,区切りで配列に入れる方法について
教えていただけますでしょうか?

CSVファイルの中身が一行で,のみある場合は、
→「1,2,3,4」

a as system.io.streamreader
a = system.io.streamreader(ファイル)
b as string() = a.ReadLine.Split(",")

でbに配列で1,2,3,4をいれることができると思います。

CSVファイルが改行があって2行の場合にどのように
配列に入れればいいのでしょうか?
「1,2,3,4
5,6,7,8」
となっている場合です。

よろしくお願いします。
  • 題名: Re[1]: CSV箕荷
  • 著者: 岡田 之仁
  • 日時: 2004/05/17 11:00:19
  • ID: 4051
  • この記事の返信元:
  • この記事への返信:
  • ツリーを表示
■No4050に返信(kentaさんの記事)
> CSVファイルが改行があって2行の場合にどのように
> 配列に入れればいいのでしょうか?
> 「1,2,3,4
> 5,6,7,8」
> となっている場合です。

  こんな風ですか・・・

Dim sr As StreamReader
Dim rg As Regex
Dim sz As String
Dim b() As String

sr = New StreamReader(Application.StartupPath + "\TEST.CSV")
sz = sr.ReadToEnd
sr.Close()

rg = New Regex(",", RegexOptions.Multiline)
b = rg.Split(sz)

For Each sz In b
Debug.WriteLine(sz)
Next

以上。
  • 題名: Re[2]: CSV箕荷
  • 著者: kenta
  • 日時: 2004/05/17 11:39:18
  • ID: 4052
  • この記事の返信元:
  • この記事への返信:
  • ツリーを表示
すばやいご回答ありがとうございました。

今のですと、改行されたところが
,で区切られないためそこを別々の配列に
入れるためにはどうすればよろしいでしょうか?

よろしくお願い致します。
  • 題名: Re[3]: CSV箕荷
  • 著者: sas
  • 日時: 2004/05/17 12:52:32
  • ID: 4054
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No4052に返信(kentaさんの記事)
> すばやいご回答ありがとうございました。
>
> 今のですと、改行されたところが
> ,で区切られないためそこを別々の配列に
> 入れるためにはどうすればよろしいでしょうか?
>
> よろしくお願い致します。
改行を[,]とみなすと言う事であれば、
Dim sr As New System.IO.StreamReader("C:\hoge.csv", System.Text.Encoding.GetEncoding("shift-jis"))
Dim s As String = sr.ReadToEnd()
Dim sBuf() As String

sr.Close()

s = Replace(s, vbCrLf, ",")

sBuf = Split(s, ",")
でいかがでしょう?
※ものによってはvbCrLfでなくvbCrの場合もあるかも。

DOBON.NET | プログラミング道 | プログラミング掲示板