Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memuatkan Data CSV dengan Cekap ke dalam Jadual Data .NET?

Bagaimana untuk Memuatkan Data CSV dengan Cekap ke dalam Jadual Data .NET?

Barbara Streisand
Lepaskan: 2025-01-27 19:31:08
asal
938 orang telah melayarinya

Muat data CSV dengan cekap ke dalam .NET DataTable

Memuatkan data CSV ke dalam Jadual Data ialah tugas biasa dalam pemprosesan dan analisis data. Artikel ini meneroka cara untuk mencapai ini menggunakan keupayaan terbina dalam .NET, memfokuskan pada mencipta skema daripada fail CSV.

How to Efficiently Load CSV Data into a .NET DataTable?

Gunakan fungsi standard ADO.NET

Rangka kerja ADO.NET standard tidak menyokong pembacaan fail CSV secara langsung. Walau bagaimanapun, kami boleh memanfaatkan penyedia OleDb untuk mengimport data CSV dengan mencipta fail definisi skema.

Buat skema menggunakan fail .INI

Untuk mencipta fail skema (schema.ini), ikut langkah berikut:

  1. Masukkan kod berikut ke dalam fail yang dipanggil schema.ini:
<code>[FileName.csv]
Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0</code>
Salin selepas log masuk
  1. Simpan fail dalam direktori yang sama dengan fail CSV.

Pelaksanaan kod

Kod berikut menunjukkan cara memuatkan data CSV ke dalam Jadual Data menggunakan pembekal OleDb dengan fail definisi skema:

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

static DataTable GetDataTableFromCsv(string path, bool isFirstRowHeader)
{
    string header = isFirstRowHeader ? "Yes" : "No";

    string pathOnly = Path.GetDirectoryName(path);
    string fileName = Path.GetFileName(path);

    string sql = @"SELECT * FROM [" + fileName + "]";

    using (OleDbConnection connection = new OleDbConnection(
        @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +
        ";Extended Properties=\"Text;HDR=" + header + "\""))
    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>
Salin selepas log masuk

Kaedah ini mengambil sebagai input laluan fail CSV dan bendera yang menunjukkan sama ada baris pertama mengandungi pengepala lajur. Ia mengembalikan Jadual Data yang diisi berdasarkan data CSV.

Kaedah ini menerima laluan fail CSV dan nilai Boolean sebagai parameter, menunjukkan sama ada baris pertama ialah pengepala. Ia mengembalikan Jadual Data yang diisi dengan data CSV. Kod yang dipertingkatkan menambah rujukan ruang nama using System.Globalization; dan using System.IO; dan menunjukkan kefungsian kod dengan lebih jelas.

Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Data CSV dengan Cekap ke dalam Jadual Data .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan