Heim >Backend-Entwicklung >C++ >Wie lade ich eine CSV-Datei effizient in eine .NET-Datentabelle und verarbeite numerische Werte als Text?
importieren CSV -Daten in ein .NET -DataTable ist eine häufige Aufgabe. Während ADO.NET leistungsstarke Datenbearbeitung bietet, ist der direkte CSV-Import nicht integriert. Wir können den OLEDB -Anbieter verwenden, aber die korrekte Verwaltung numerischer Daten als Text erfordert sorgfältige Aufmerksamkeit.
Diese Lösung verwendet eine Schema.ini -Datei zur genauen Steuerung. Der folgende Code zeigt diesen Ansatz:
<code class="language-csharp">using System.Data; using System.Data.OleDb; using System.Globalization; using System.IO; static DataTable LoadCsvIntoDataTable(string filePath, bool isFirstRowHeader) { string header = isFirstRowHeader ? "Yes" : "No"; string directory = Path.GetDirectoryName(filePath); string fileName = Path.GetFileName(filePath); string sqlQuery = $"SELECT * FROM [{fileName}]"; using (OleDbConnection connection = new OleDbConnection( $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={directory};Extended Properties=\"Text;HDR={header}\"")) using (OleDbCommand command = new OleDbCommand(sqlQuery, connection)) using (OleDbDataAdapter adapter = new OleDbDataAdapter(command)) { DataTable dataTable = new DataTable(); dataTable.Locale = CultureInfo.CurrentCulture; adapter.Fill(dataTable); return dataTable; } }</code>
Diese Methode liest CSV -Daten effizient in eine DataTable, die numerische Werte bei Bedarf als Textketten erhalten, dank der Konfiguration, die durch die schema.ini
-Datei bereitgestellt wird.
Das obige ist der detaillierte Inhalt vonWie lade ich eine CSV-Datei effizient in eine .NET-Datentabelle und verarbeite numerische Werte als Text?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!