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個目
コメント