Maison >développement back-end >C++ >Comment charger efficacement un fichier CSV dans un DataTable .NET et gérer les valeurs numériques sous forme de texte ?

Comment charger efficacement un fichier CSV dans un DataTable .NET et gérer les valeurs numériques sous forme de texte ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-27 19:16:13876parcourir

Chargement efficace de fichiers CSV dans des tables de données .NET : gestion des valeurs numériques sous forme de texte

L'importation de données CSV dans un DataTable .NET est une tâche fréquente. Bien qu'ADO.NET offre une gestion puissante des données, l'importation directe CSV n'est pas intégrée. Nous pouvons utiliser le fournisseur OleDb, mais gérer correctement les données numériques sous forme de texte nécessite une attention particulière.

Cette solution utilise un fichier schema.ini pour un contrôle précis. Le code suivant illustre cette approche :

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>

Cette méthode lit efficacement les données CSV dans un DataTable, en préservant les valeurs numériques sous forme de chaînes de texte selon les besoins, grâce à la configuration fournie par le fichier schema.ini.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn