Mat*_*att 6 vb.net csv import datatable multidimensional-array
我试图将存储为csv文件的大量整数导入到VB.Net DataTable中BeamMap..csv文件仅由整数组成,其分隔符为,数字(即.1,3,-2,44,1)的引号,以及换行和回车符的行尾字符.我想要做的就是将每个整数放入一个具有适当行和列的DataTable单元格中(每行有相同数量的列),并且稍后可以在我的代码中引用它.我真的不想要任何超过代码绝对必要的东西(没有标题,标题,标题等),我需要它相当有效(csv数组约为~1000 x~1000).
谢谢!
ada*_*ost 16
使用OleDb提供程序读取CSV和pouplate DataTable.
Dim folder = "c:\location\of\csv\files\"
Dim CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & folder & ";Extended Properties=""text;HDR=No;FMT=Delimited"";"
Dim dt As New DataTable
Using Adp As New OleDbDataAdapter("select * from [nos.csv]", CnStr)
Adp.Fill(dt)
End Using
Run Code Online (Sandbox Code Playgroud)
这是一个简单的方法,需要严格的格式(正如您所提到的):
Dim lines = IO.File.ReadAllLines(path)
Dim tbl = New DataTable
Dim colCount = lines.First.Split(","c).Length
For i As Int32 = 1 To colCount
tbl.Columns.Add(New DataColumn("Column_" & i, GetType(Int32)))
Next
For Each line In lines
Dim objFields = From field In line.Split(","c)
Select CType(Int32.Parse(field), Object)
Dim newRow = tbl.Rows.Add()
newRow.ItemArray = objFields.ToArray()
Next
Run Code Online (Sandbox Code Playgroud)