Sto utilizzando la classe TextFieldParser
per leggere il file con valori separati da virgola (.csv). I campi in questo file sono racchiusi tra virgolette doppie come "Field1","Field2"
.TextFieldParser Class
Quindi, per leggere il file, ho impostato la proprietà TextFieldParser
su true. Ma ottengo un errore di MalformedLineException
quando uno dei campi contengono virgolette (`" +) in principio
Esempio:. ""Field2"with additional"
Qui dovrei vedere "Field2" with additional
come uscita
Tuttavia, se "
è ovunque tranne che per primo. posizione poi funziona benissimo. come linea con "Field2 "with" additional"
opere perfettamente bene e mi dà Field2 "with" additional
come output.
non uno ha stesso problema? c'è un modo per risolvere questo problema?
012.Questo è il mio codice:
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
Questo è il mio dati in file CSV:
"Column1","Column2","Column3" "Value1","Value2",""A" Block in Building 123"
Aggiungi il tuo codice per favore – nmat
Sembra un errore o qualcosa del genere. Forse potresti considerare di non avere le doppie virgolette nei tuoi campi se saranno incluse in questo, se questa è una possibilità per te – SysDragon
No, non ne ho il controllo. – optimusprime