タイトル | : 簡単にCSVを解析したい |
記事No | : 8187 |
投稿日 | : 2008/09/19(Fri) 15:52 |
投稿者 | : エドワード |
以下のような構成でCSVファイル内の各フィールド値を安易に 取れればなと思っているのですが。 文字列内にカンマや改行が有っても""で囲ってさえあれば取れるのですが カンマや改行が有って"が有る場合(""内に"が存在する事になる)は エラーが起きてしまいます。 何か簡単な回避方法って有りませんでしょうか? 皆さんはどうしていますか?
Private Function ReadCSV(ByVal strFileName As String) As Boolean Dim strBuff As String Dim strField As String Dim strFields As String()
Using parser As New TextFieldParser(strFileName, System.Text.Encoding.GetEncoding("SHIFT_JIS")) parser.TextFieldType = FieldType.Delimited parser.HasFieldsEnclosedInQuotes = True parser.SetDelimiters(",") While Not parser.EndOfData strFields = parser.ReadFields() For Each strField In strFields strBuff = strBuff & "|" & strField Next MessageBox.Show(strBuff, "CSV", MessageBoxButtons.OK, MessageBoxIcon.None) End While End Using End Function
|