Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membaca dan Memproses Fail CSV Besar dengan Berkesan dengan Python?

Bagaimana untuk Membaca dan Memproses Fail CSV Besar dengan Berkesan dengan Python?

DDD
Lepaskan: 2024-11-09 11:58:02
asal
566 orang telah melayarinya

How to Effectively Read and Process Large CSV Files in Python?

Membaca Fail CSV Besar dengan Berkesan

Membaca dan memproses fail CSV yang besar dalam Python boleh mencabar kerana had memori. Isu ini menjadi lebih ketara dengan fail yang mengandungi berjuta-juta baris dan ratusan lajur.

Isu Memori dan Pengoptimuman

Kod semasa anda cuba membaca dan menyimpan data daripada CSV fail ke dalam senarai. Walau bagaimanapun, pendekatan ini tidak cekap untuk fail besar kerana ia memuatkan keseluruhan set data ke dalam memori.

Untuk menyelesaikan isu memori ini, proses data semasa anda membacanya. Gunakan fungsi penjana yang menghasilkan satu baris pada satu masa, seperti yang ditunjukkan di bawah:

import csv

def getstuff(filename, criterion):
    with open(filename, "rb") as csvfile:
        datareader = csv.reader(csvfile)
        yield next(datareader)  # yield the header row
        count = 0
        for row in datareader:
            if row[3] == criterion:
                yield row
                count += 1
            elif count:
                # stop when exceeding the adjacent rows of criteria
                return
Salin selepas log masuk

Kod yang dikemas kini ini menghasilkan baris yang sepadan dengan kriteria yang ditentukan, baris demi baris. Ia menghapuskan keperluan untuk menyimpan keseluruhan set data dalam ingatan.

Peningkatan Prestasi

Di luar pengoptimuman memori, terdapat teknik tambahan untuk meningkatkan prestasi:

  • Gunakan penghurai penstriman: Pertimbangkan untuk menggunakan pustaka CSV yang menyokong penstriman, membolehkan anda memproses data secara berperingkat tanpa memuatkannya ke dalam memori.
  • Pemprosesan selari: Jika sistem anda menyokongnya, terokai pemprosesan selari dengan mengagihkan beban kerja merentas berbilang teras atau pemproses.
  • Cache data yang kerap diakses: Jika boleh, cache bahagian set data yang diakses berulang kali untuk meminimumkan keperluan membaca semula.
  • Optimumkan kod anda: Semak kod anda untuk sebarang operasi yang tidak perlu atau tidak cekap yang mungkin melambatkan pemprosesan.

Dengan menggunakan strategi ini, anda boleh meningkatkan kecekapan kod Python anda dengan ketara untuk mengendalikan fail CSV yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Memproses Fail CSV Besar dengan Berkesan dengan Python?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan