Я использую класс TextFieldParser
для чтения файла с разделителями-запятыми (.csv). Поля в этом файле заключены в двойные кавычки, такие как "Field1","Field2"
.TextFieldParser Class
Итак, чтобы прочитать файл, я установил для свойства HasFieldsEnclosedInQuotes
объекта TextFieldParser
значение 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