ホームページ > バックエンド開発 > C++ > CSV データを .NET DataTable に効率的にロードするにはどうすればよいですか?

CSV データを .NET DataTable に効率的にロードするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-27 19:21:14
オリジナル
532 人が閲覧しました

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

CSV データを .NET DataTable にインポートする: 実践ガイド

CSV データを効率的に処理することは、多くの .NET アプリケーションにとって重要です。この記事では、表形式データを管理するための強力な ADO.NET 構造である .NET DataTable に CSV ファイルをシームレスにインポートする方法を説明します。

OleDb プロバイダーの活用

標準の ADO.NET には直接 CSV インポート機能がありませんが、OleDb プロバイダーは堅牢なソリューションを提供します。 ただし、一般的な課題には、数値データの正しい解釈が含まれます。 schema.ini ファイル (以下で説明) を使用してこれに対処します。

再利用可能な C# メソッド

次の C# 関数は、CSV ファイルを読み取り、DataTable にデータを設定し、ヘッダー行を適切に処理します。

<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>
ログイン後にコピー

このメソッドは、現在のカルチャを使用してデータ型の正確な解釈を保証し、数値に関する一般的な問題を防ぎます。 このアプローチにより、手動で型を変換する必要がなくなります。

以上がCSV データを .NET DataTable に効率的にロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート