|
分類:[VB.NET/VB2005 以降]
csvを配列に読込たいのですが、改行のみがcsvデータ内に存在した場合に 1レコードとして処理したいのですが、以下の物では、改行のみは削除 される様です。どの様に処理すれば良いか教えていただけますか。 お願い致します。
Sub csv_read() 'csv data read 'CSVファイル名を設定します。 Dim strFileName As String strFileName = "C:\tmp\test.csv" 'Shift JISで読み込みます。 Dim swText As New FileIO.TextFieldParser(strFileName, _ System.Text.Encoding.GetEncoding(932)) 'フィールドが文字で区切られている設定を行います。 '(初期値がDelimited) swText.TextFieldType = FileIO.FieldType.Delimited '区切り文字を「,(カンマ)」に設定します。 swText.Delimiters = New String() {","} 'フィールドを"で囲み、改行文字、区切り文字を含めることが 'できるかを設定します。 '(初期値がtrue) swText.HasFieldsEnclosedInQuotes = True 'フィールドの前後からスペースを削除する設定を行います。 '(初期値がtrue) swText.TrimWhiteSpace = True While Not swText.EndOfData 'CSVファイルのフィールドを読み込みます。 Dim fields As String() = swText.ReadFields() '配列に追加します。 arrCsvData.Add(fields) End While 'ファイルを解放します。 swText.Close() End Sub
|