在逗号分隔的文件中使用逗号

时间:2018-11-14 22:09:16

标签: vb.net csv datagridview

我有一个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

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