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 サイトの他の関連記事を参照してください。