Tôi đang sử dụng lớp TextFieldParser
Lớp để đọc giá trị được phân tách bằng dấu phẩy (.csv). Các trường trong tệp này được đính kèm với dấu ngoặc kép như "Field1","Field2"
.TextFieldParser Class
Vì vậy, để đọc tệp, tôi đã đặt thuộc tính HasFieldsEnclosedInQuotes
của đối tượng TextFieldParser
thành true. Nhưng tôi nhận được một lỗi của MalformedLineException
khi bất kỳ lĩnh vực chứa dấu nháy kép (`" +) ở phần đầu
Ví dụ:. ""Field2"with additional"
Ở đây tôi sẽ thấy "Field2" with additional
như sản lượng
Tuy nhiên, nếu "
là bất cứ nơi nào trừ đầu tiên. vị trí sau đó nó hoạt động tốt. giống như phù hợp với "Field2 "with" additional"
công trình hoàn toàn tốt đẹp và mang lại cho tôi Field2 "with" additional
như đầu ra.
có ai có cùng một vấn đề? có cách nào tôi có thể giải quyết vấn đề này?
012.Đây là mã của tôi:
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
Đây là dữ liệu của tôi trong tập tin csv:
"Column1","Column2","Column3" "Value1","Value2",""A" Block in Building 123"
Thêm mã của bạn, vui lòng – nmat
Trông giống như một lỗi hoặc thứ gì đó. Có lẽ bạn có thể xem xét không có dấu ngoặc kép trong các lĩnh vực của bạn nếu họ sẽ được kèm theo đó, nếu đó là một khả năng cho bạn – SysDragon
Không, tôi không có quyền kiểm soát về điều đó. – optimusprime