私は、CSVファイルをいくつか開き、そのファイルをDataTableとして、hereという例で読み込んでいます。私がデータをインポートするために使用している基本的なクエリを実行している問題は、IPアドレスの列をDoublesに変換することです。だから私は10.0.0.1で読みたいと思うし、10.001として表示されます。この列を文字列として読み込むにはどうすればよいですか?私はできればファイルを二重処理したくないです。私が使用しているCSVファイルをOLEDB接続として開くと、ファイルのテキストが二重に変換されます
クエリは基本的で、次のようになります。ここでは
SELECT * FROM [ComputerList.csv]
は、私はCSV形式のを読むためにこれを使用したDataTable
Public Function OpenFile(ByVal strFolderPath as String, ByVal strQuery as String) as DataTable
Dim strConn as String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFolderPath & ";Extended Propteries=""text; HDR=Yes;FMT=Delimited"""
Dim conn as OleDb.OleDbConnection = New OleDb.OleDbConnection(strConn)
Try
conn.Open()
Dim cmd as OleDb.OleDbCommand = New OleDb.OleDbCommand(strQuery, conn)
Dim da as OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter()
da.SelectCommand = cmd
Dim ds as DataSet = New DataSet()
da.Fill(ds)
da.Dispose()
return ds.Tables(0)
Catch
return Nothing
Finally
conn.Close()
End Try
End Function
あなたのコードはどこですか?問題は明らかにこの行にはありません:) –
[TextFieldParser](https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.fileio.textfieldparser?view= – peterG
@MutedDisk私はコードを追加しました – Talguy