CSV 데이터를 .NET DataTable로 가져오는 것은 자주 발생하는 작업입니다. ADO.NET은 강력한 데이터 처리 기능을 제공하지만 직접 CSV 가져오기 기능은 내장되어 있지 않습니다. OleDb 공급자를 사용할 수 있지만 숫자 데이터를 텍스트로 올바르게 관리하려면 세심한 주의가 필요합니다.
이 솔루션은 정확한 제어를 위해 Schema.ini 파일을 사용합니다. 다음 코드는 이 접근 방식을 보여줍니다.
<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>
이 방법은 schema.ini
파일에서 제공하는 구성 덕분에 필요에 따라 숫자 값을 텍스트 문자열로 유지하면서 CSV 데이터를 DataTable로 효율적으로 읽어옵니다.
위 내용은 CSV 파일을 .NET DataTable에 효율적으로 로드하고 숫자 값을 텍스트로 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!