Heim >Backend-Entwicklung >C++ >Wie lade ich eine CSV-Datei effizient in eine .NET-Datentabelle und verarbeite numerische Werte als Text?

Wie lade ich eine CSV-Datei effizient in eine .NET-Datentabelle und verarbeite numerische Werte als Text?

Barbara Streisand
Barbara StreisandOriginal
2025-01-27 19:16:13876Durchsuche

effizientes Laden von CSV -Dateien in .NET DataTables: Numerische Werte als Text

behandeln

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:

How to Efficiently Load a CSV File into a .NET DataTable and Handle Numeric Values as Text?

<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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn