我正在使用TextFieldParser
類讀取逗號分隔值(.csv)文件。此文件中的字段用雙引號括起來,如"Field1","Field2"
。TextFieldParser類
因此,要讀取文件,我已將TextFieldParser
對象的HasFieldsEnclosedInQuotes
屬性設置爲true。但我得到的MalformedLineException
一個錯誤,當任何字段中開始包含雙引號('「+)
例:""Field2"with additional"
我要在這裏看到"Field2" with additional
作爲輸出
但是,如果"
是除了第一任何地方。位置,然後它工作正常。 像與"Field2 "with" additional"
作品線完美的罰款,並給了我Field2 "with" additional
作爲輸出。
沒有任何一個有同樣的問題嗎?有什麼辦法可以解決這個問題呢?
這是我的代碼:
Private Sub ReadTextFile(ByVal txtFilePath As String)
Dim myReader As tfp = New Microsoft.VisualBasic.FileIO.TextFieldParser(txtFilePath)
myReader.Delimiters = New String() {","}
myReader.TextFieldType = FileIO.FieldType.Delimited
myReader.HasFieldsEnclosedInQuotes = True
myReader.TrimWhiteSpace = True
Dim currentRow As String()
Dim headerRow As Integer = 0
While Not myReader.EndOfData
Try
currentRow = myReader.ReadFields()
'Read Header
If (headerRow = 0) Then
'Do work for Header Row
headerRow += 1
Else
'Do work for Data Row
End If
Catch ex As Exception
Dim errorline As String = myReader.ErrorLine
End Try
End While
End Sub
這是我在CSV文件中的數據:
"Column1","Column2","Column3" "Value1","Value2",""A" Block in Building 123"
添加您的代碼請 – nmat
看起來像一個錯誤或東西。也許你可以考慮在你的領域沒有雙引號,如果他們將被附上,如果這是你的可能 – SysDragon
不,我沒有控制。 – optimusprime