我有一个vb项目,可导入一个csv文件,其中一些数据包含逗号。带逗号的字段用双引号引起来。
我正在从csv的标题行创建一个datagridview,然后将文件的其余部分导入到dgv中,但是带逗号的字段会引起问题。字段的宽度不是固定的。
我认为我需要一种基于双引号或其他将数据导入dgv的方法来将逗号限定为定界符。
谢谢
Using objReader As New StreamReader(FName)
Dim line As String = objReader.ReadLine()
Do While objReader.Peek() <> -1
line = objReader.ReadLine()
Dim splitLine() As String = line.Split(",")
DataGridView1.Rows.Add(splitLine)
Application.DoEvents()
Loop
End Using
示例数据:
1,“ VALIDFLAG,NOGPS”,0,1.34,3.40,0.17,1
答案 0 :(得分:2)
非常考虑建议。
我将使用textfieldparser进行导入。
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(FName)
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {","}
Dim currentRow As String()
Dim firstline As Boolean = True
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
If firstline = True Then
firstline = False
Else
Me.DataGridView1.Rows.Add(currentRow)
End If
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & " is invalid. Skipping")
End Try
Application.DoEvents()
End While
End Using