>백엔드 개발 >C++ >CSV 파일을 .NET DataTable에 효율적으로 로드하고 숫자 값을 텍스트로 처리하는 방법은 무엇입니까?

CSV 파일을 .NET DataTable에 효율적으로 로드하고 숫자 값을 텍스트로 처리하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-27 19:16:13876검색

CSV 파일을 .NET DataTable에 효율적으로 로드: 숫자 값을 텍스트로 처리

CSV 데이터를 .NET DataTable로 가져오는 것은 자주 발생하는 작업입니다. ADO.NET은 강력한 데이터 처리 기능을 제공하지만 직접 CSV 가져오기 기능은 내장되어 있지 않습니다. OleDb 공급자를 사용할 수 있지만 숫자 데이터를 텍스트로 올바르게 관리하려면 세심한 주의가 필요합니다.

이 솔루션은 정확한 제어를 위해 Schema.ini 파일을 사용합니다. 다음 코드는 이 접근 방식을 보여줍니다.

How to Efficiently Load a CSV File into a .NET DataTable and Handle Numeric Values as Text?

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.