私はこのように見ているCSVファイルを持っているの内側、とCSVを読む:二重引用符や余分な引用符
"Name1", "A test, which "fails" all the time"
"Name2", "A test, which "fails" all the time"
"Name3", "A test, which "fails" all the time"
私のコードは次のとおりです。
Using parser As New FileIO.TextFieldParser(filepath)
parser.Delimiters = New String() {","}
parser.HasFieldsEnclosedInQuotes = True
parser.TrimWhiteSpace = False
Dim currentRow As String()
While Not parser.EndOfData
Try
currentRow = parser.ReadFields()
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
"is not valid and will be skipped.")
Finally
End Try
End While
End Using
私が手にエラーが1行目であります現在のデリミタを使用して渡すことはできません。有効ではなく、スキップされます。 最初はカンマが問題だと思っていましたが、引用符の中に引用符があるように見えます
どのように読むべきですか?
PS。私のコードが通常直面しているファイルは、引用符の中に引用符がないので、ファイルを読むための高速で信頼性の高い一般的な方法を探しています。 Regexは私が読んだところから、私の目的のために非常に重いです。
ファイルを二重引用符で '' "'と正しく書き直すことができますか?二重引用符を持つ項目は、常に行の最後の項目ですか?他のフィールドにカンマが入っていますか? –
ファイルに無効なcsvが含まれています。あなたはその混乱を修正できますか、それとも解析する必要がありますか? –
区切り文字がセミコロン、パイプ、または他のフィールドに表示されない他の文字になるように 'CSV'ファイルを変更できます – Mych