3.StreamReaderを使ってのCSVファイルの読み込み(33_FIO_03) (旧、SampleNo.030) |
1.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合) 2.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合) 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合) |
'扱いが容易なので全て文字列型として変数を用意 Private Structure SeisekiDat '成績のデータ保存用構造体 Dim idno As String 'No Dim name As String '氏名 Dim kokugo As String '国語の点数 Dim suugaku As String '数学の点数 Dim eigo As String '英語の点数 Dim gokei As String '合計の点数 End Structure Private sd() As SeisekiDat Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合) Dim fileName As String = "..\..\..\data\test.csv" 'ファイルのパス Try Using sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default) Dim n As Integer 'ファイルの最後までループ Do Until sr.Peek() = -1 Dim temp() As String ReDim Preserve sd(n) temp = Split(sr.ReadLine(), ",") '※1 データの項目数と内容が事前に解っている場合 sd(n).idno = temp(0).Trim(Chr(34)) sd(n).name = temp(1).Trim(Chr(34)) '※2 文字列の前後の "" を除去 sd(n).kokugo = temp(2).Trim(Chr(34)) sd(n).suugaku = temp(3).Trim(Chr(34)) sd(n).eigo = temp(4).Trim(Chr(34)) sd(n).gokei = temp(5).Trim(Chr(34)) '取得結果を確認の為に表示 Console.WriteLine(sd(n).idno & vbTab & sd(n).name & vbTab & sd(n).kokugo & vbTab & _ sd(n).suugaku & vbTab & sd(n).eigo & vbTab & sd(n).gokei) n += 1 Loop End Using Catch ex As Exception MessageBox.Show(ex.Message) End Try '出力結果 'No 氏名 国語 数学 英語 合計点 '1 浅野 純子 63 69 87 219 '2 深田 京子 77 69 85 231 '3 加藤 愛子 80 91 92 263 '4 斉藤 正樹 79 84 70 233 '5 鈴木 一郎 69 72 80 221 '6 仲居 正弘 88 85 75 248 '7 原田 智子 66 76 80 222 '8 松村 邦弘 61 70 69 200 '9 三田 弘子 90 88 94 272 '10 渡辺 正行 60 56 58 174 End Sub |
2.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合) |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合) Dim fileName As String = "..\..\..\data\test.csv" 'ファイルのパス Try Using sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default) 'ファイルの最後までループ Do Until sr.Peek() = -1 Dim temp() As String temp = Split(sr.ReadLine(), ",") '※1 データの項目数が不定の場合は下記のようにして取得してください。 Dim i As Integer For i = 0 To temp.GetUpperBound(0) If i = temp.GetUpperBound(0) Then Console.WriteLine(temp(i)) Else Console.Write(temp(i) & vbTab) End If Next Loop End Using Catch ex As Exception MessageBox.Show(ex.Message) End Try '出力結果 ' No 氏名 国語 数学 英語 合計点 ' 1 浅野 純子 63 69 87 219 ' 2 深田 京子 77 69 85 231 ' 3 加藤 愛子 80 91 92 263 ' 4 斉藤 正樹 79 84 70 233 ' 5 鈴木 一郎 69 72 80 221 ' 6 仲居 正弘 88 85 75 248 ' 7 原田 智子 66 76 80 222 ' 8 松村 邦弘 61 70 69 200 ' 9 三田 弘子 90 88 94 272 ' 10 渡辺 正行 60 56 58 174 End Sub |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |