VB.NETでCSVテキストファイルを読み込む

VB.NETでCSVファイルを読み込みにはというクラスを使えば、CSVを読み込んで各行の各フィールドの文字列を簡単に取り出すことができます。

TextFieldParserクラスを使用してCSVファイルを読み込むには、処理したいCSVファイルをコンストラクタで指定してインスタンスを作成する必要があります。

TextFieldParserクラスのコンストラクタ呼び出し

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
    Private Sub csv_load()
        Dim parser As New TextFieldParser("C:\Users\ks420\Desktop\csvtext.txt",
             System.Text.Encoding.GetEncoding("Shift_JIS"))
    End Sub
End Class

フィールド間がコンマで区切られている設定

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
    Private Sub csv_load()
        parser.TextFieldType = FieldType.Delimited
        parser.SetDelimiters(",")
    End Sub
End Class

テスト用CSVテキストファイル

テスト用にこのようなCSVファイルを用意しました。

1,1行目,1行目の3個目
2,2行目,2行目の3個目
3,3行目,3行目の3個目
4,4行目,4行目の3個目
5,5行目,5行目の3個目

CSVファイルを読み込んでコンソールに表示するプログラム

Imports Microsoft.VisualBasic.FileIO

Public Class Module1
        Using parser As New TextFieldParser("C:\Users\ks420\Desktop\csvtext.txt",
             System.Text.Encoding.GetEncoding("Shift_JIS"))

            parser.TextFieldType = FieldType.Delimited
            parser.SetDelimiters(",")

            While Not parser.EndOfData
                Dim row As String() = parser.ReadFields()

                Console.WriteLine(row(0) & " " & row(1) & " " & row(2))
            End While
        End Using
End Class

CSVファイルの全ての行を1行づつ読んでコンソールに表示しています。

このように表示されます。

1 1行目 1行目の3個目
2 2行目 2行目の3個目
3 3行目 3行目の3個目
4 4行目 4行目の3個目
5 5行目 5行目の3個目

VB.NETのお勉強の教材

VB.NET教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。