Из-за помощи я нуждаюсь в том, чтобы переместить эти дрова, отделенные запятой в datatable.
это линии. в конце линии также расставание - одно из-за запятой.
000000000000056680640,07/07/2016,1606169715409,000000933.00,DB,EXI IB INFOTEP 501606169715409 RD$.00,409,0000000000000,
000000000000056680640,08/07/2016,0000000000004,000000044.02,DB,PAGO IMPUESTO 0.15 DGII 4 TRANS POR $ 29348.29 Del 01/07/2016 Al 07/07/2016,524,0000000000000,
000000000000056680640,11/07/2016,0000777517509,000007000.00,CR,IB MB desde 777517509 ,201,0000000000000,
000000000000056680640,13/07/2016,0000120000002,000050490.00,CR,DEPOSITO CHEQUE Y EFECTIVO,108,0000120000002,
000000000000056680640,13/07/2016,0160438491157,000008564.40,DB,EXI IB DGII 160438491157 RD$.00,409,0000000000000,
000000000000056680640,13/07/2016,0000000000000,000000075.00,DB,COMISION PAGO IMPUESTO X IB RD$.00,524,0000000000000,
000000000000056680640,13/07/2016,0003579084854,000001851.27,DB,EXI IB DGII 3579084854 RD$.00,409,0000000000000,
Обычно есть проблема с файлами, отделенными запятыми, и состоит в том, что это формат, который не стандартизирован, и различные люди (и системы) принимают различные вещи в деталях.
В словах статьи Comma-separated оцени Wikipedia на английском, переведенный свободно:
Формат файла CSV не стандартизирован. Основная мысль отделять поля с запятой - ясная, но эта идея осложняет, когда данные о полях в свою очередь содержат запятые или, даже, завершения линии.
Различные осуществления CSV могут не выносить вышеупомянутые данные в полях, или могут использовать кавычки, чтобы заключать поле. Кавычки не решают все: Какие-то поля могли бы содержать также кавычки, так что некие осуществления CSV могли бы включать символы или последовательности утечки.
В общем моя рекомендация состоит в том, чтобы делать надежное осуществление в любой системе, что в будущем избавит тебе от краски стыда и головных болей. Из-за фортуны, у тебя нет, почему писать код, который берется за детали.
Ты можешь основываться, например, на классе TextFieldParser
Маленький пример использования мог бы быть:
Using MyReader As New Microsoft.VisualBasic.FileIO.
TextFieldParser("c:\logs\bigfile")
MyReader.TextFieldType =
Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {","}
MyReader.CommentTokens = New String() {""}
MyReader.HasFieldsEnclosedInQuotes = True
Dim currentRow As String()
'Loop through all of the fields in the file.
'If any lines are corrupt, report an error and continue parsing.
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim newRow = dTable.Rows.Add()
newRow.ItemArray = currentRow
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
" is invalid. Skipping")
End Try
End While
End Using
Ты можешь находить пример в documentaciГіn , и это важное знание, что из-за convenciГіn у архива .CSV (Comma separated оценил) должна быть эта структура для sea считаемый как таковой:
a, Elenasys , 12345
b, Ronnie, 12345
c, Doru, 534543
d, Hassan, 6234234
e, Haris K., 78345345
Восток serГ - в пример как превращать стоимость, полученную от .csv в DataTable
Dim lines = IO.File.ReadAllLines("C:\path\archivo.csv")
Dim dTable = New DataTable
Dim numeroColumnas = lines.First.Split(","c).Length
For i As Int32 = 1 To numeroColumnas
'Agrega columnas a DataTable.
dTable.Columns.Add(New DataColumn("Columna_" & i, GetType(String)))
Debug.Print("Columna_" & i)
Next
'**********************
For Each line In lines
Dim objFields = From field In line.Split(","c)
Dim newRow = dTable.Rows.Add()
newRow.ItemArray = objFields.ToArray()
Debug.Print("columna_1: " & objFields.ToArray().GetValue(0).ToString)
Debug.Print("columna_2: " & objFields.ToArray().GetValue(1).ToString)
Debug.Print("columna_3: " & objFields.ToArray().GetValue(2).ToString)
Next
Debug.Print("finaliza!")