C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: csvを配列に 改行のみのデータ処理


(過去ログ 114 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■67219 / inTopicNo.1)  csvを配列に 改行のみのデータ処理
  
□投稿者/ toyou (1回)-(2013/07/17(Wed) 12:10:13)

分類:[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
引用返信 編集キー/
■67227 / inTopicNo.2)  Re[1]: csvを配列に 改行のみのデータ処理
□投稿者/ Hongliang (72回)-(2013/07/17(Wed) 14:03:29)
空行を単一フィールドの行として扱いたい、ということでいいでしょうか。
TextFieldParserを使う限り、空行が無視されるのはどうしようもありません。
他のcsvパーサ(自作含む)を使う必要があります。
「CSV C#|VB」などで検索するといろいろ見つかりますね。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -