Maison > développement back-end > C++ > Comment puis-je charger efficacement des données CSV dans un DataTable .NET ?

Comment puis-je charger efficacement des données CSV dans un DataTable .NET ?

Susan Sarandon
Libérer: 2025-01-27 19:21:14
original
555 Les gens l'ont consulté

How Can I Efficiently Load CSV Data into a .NET DataTable?

Importer des données CSV dans un DataTable .NET : un guide pratique

La gestion efficace des données CSV est cruciale pour de nombreuses applications .NET. Cet article montre comment importer de manière transparente des fichiers CSV dans un DataTable .NET, une puissante structure ADO.NET pour gérer les données tabulaires.

Tirer parti du fournisseur OleDb

Bien qu'ADO.NET standard ne dispose pas de fonctionnalité d'importation CSV directe, le fournisseur OleDb fournit une solution robuste. Toutefois, un défi courant concerne l’interprétation correcte des données numériques. Nous allons résoudre ce problème à l'aide d'un fichier schema.ini (expliqué ci-dessous).

Une méthode C# réutilisable

La fonction C# suivante lit un fichier CSV et remplit un DataTable, en gérant les lignes d'en-tête de manière appropriée :

<code class="language-csharp">public static DataTable LoadCsvToDataTable(string filePath, bool hasHeaderRow)
{
    string directory = Path.GetDirectoryName(filePath);
    string filename = Path.GetFileName(filePath);
    string header = hasHeaderRow ? "Yes" : "No";
    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; // Ensures correct data type handling
        adapter.Fill(dataTable);
        return dataTable;
    }
}</code>
Copier après la connexion

Cette méthode utilise la culture actuelle pour garantir une interprétation précise du type de données, évitant ainsi les problèmes courants liés aux valeurs numériques. Cette approche évite le besoin de conversions de type manuelles.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal