Работа с запятыми в файле с разделителями-запятыми - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть проект vb, который импортирует CSV-файл, и некоторые данные содержат запятые.Поля с запятыми в двойных кавычках.

Я создаю сетку данных из строки заголовка csv, затем импортирую оставшуюся часть файла в 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 голосов
/ 15 ноября 2018

Очень думает о предложениях.

Я собираюсь использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...