Ich öffne ein paar CSV-Dateien und lese sie als DataTable nach dem Beispiel, das ich gefunden here. Das Problem, in das ich die grundlegende Abfrage, die ich verwende, um die Daten zu importieren, bin, konvertiert die Spalte von IP-Adressen in Double. Ich möchte also in 10.0.0.1 lesen und es erscheint als 10.001. Wie kann ich diese Spalte als String einlesen? Ich möchte die Datei nicht doppelt verarbeiten, wenn ich kann.Öffnen einer CSV-Datei als eine OLEDB-Verbindung konvertiert Dateitext in doppelte
Abfrage Ich verwende ist einfach und lautet wie folgt:
SELECT * FROM [ComputerList.csv]
Hier ist meine Funktion ist die CSV-Datei in eine Datentabelle
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
wo ist Ihr Code. das Problem ist offensichtlich nicht in dieser Zeile :) –
Sie könnten sich die [TextFieldParser] (https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.fileio.textfieldparser?view= netframework-4.7) – peterG
@MutedDisk Ich habe den Code – Talguy