ホームページ >バックエンド開発 >C++ >OLEDBプロバイダーを使用して、CSVファイルを.NETデータテーブルに効率的にロードするにはどうすればよいですか?

OLEDBプロバイダーを使用して、CSVファイルを.NETデータテーブルに効率的にロードするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-27 19:11:09596ブラウズ

How to Efficiently Load CSV Files into a .NET DataTable Using the OleDb Provider?

OLEDBプロバイダーを使用してCSVデータを.NETデータテーブルにインポートする

このガイドは、OLEDBプロバイダーを使用してCSVファイルを.NET

に効率的にロードする方法を示しています。 簡単ですが、このアプローチは、特に数値データを処理する場合、細部に注意する必要があります。 System.Data.DataTable

OLEDBプロバイダーのレバレッジ

OLEDBプロバイダーは、CSVファイルと相互作用するための簡単なメカニズムを提供します。ただし、一般的な落とし穴には、テキストとしての数値の誤解が含まれます。 これを緩和するために、

ファイルを使用します

schema.inischema.ini

の重要性 ファイルは、OLEDBプロバイダーに重要な構成を提供し、データインポートプロセスを細かく制御できます。 具体的には、データ型を明示的に定義し、数値フィールドの正しい解釈を確保することができます。

実用的な実装:C#メソッドschema.ini

次のC#コードは、CSVデータをAにロードするための再利用可能な方法を提供します。

DataTableメソッドパラメーターと機能:

<code class="language-csharp">using System.Data;
using System.Data.OleDb;
using System.Globalization;
using System.IO;

public static DataTable LoadCsvToDataTable(string filePath, bool hasHeaderRow)
{
    string header = hasHeaderRow ? "Yes" : "No";
    string pathOnly = Path.GetDirectoryName(filePath);
    string fileName = Path.GetFileName(filePath);
    string connectionString = $@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={pathOnly};Extended Properties=""Text;HDR={header}""";
    string sql = $@"SELECT * FROM [{fileName}]";

    using (OleDbConnection connection = new OleDbConnection(connectionString))
    using (OleDbCommand command = new OleDbCommand(sql, connection))
    using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
    {
        DataTable dataTable = new DataTable();
        dataTable.Locale = CultureInfo.CurrentCulture;
        adapter.Fill(dataTable);
        return dataTable;
    }
}</code>

:csvファイルへの完全なパス。

  • :最初の行に列ヘッダー(true)が含まれているかどうかを示すブール波(false)。 filePath
  • メソッドは接続文字列を構築し、SQLクエリを実行してすべてのデータを選択し、結果を
  • に入力します。 hasHeaderRowプロパティは、システムの地域設定に基づいて正しいデータ解釈を保証します。 この合理化されたアプローチは、CSVデータを.NETアプリケーションに統合するための堅牢で効率的なソリューションを提供します。 完全なエラー処理戦略のために、潜在的な例外(例えば
  • )を処理することを忘れないでください。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。