Melangkau Pengepala Semasa Memproses Fail CSV dengan Python
Masalah:
Apabila cuba memproses fail CSV menggunakan Python, pengguna menghadapi masalah di mana baris pertama, yang mengandungi pengepala, sedang diubah suai oleh fungsi pemprosesan. Matlamatnya adalah untuk mengedit fail CSV bermula dari baris kedua, tidak termasuk pengepala.
Penyelesaian:
Untuk menyelesaikan isu ini, objek csv.reader disediakan oleh modul CSV Python boleh digunakan untuk melangkau tajuk semasa pemprosesan. Langkah berikut menggariskan penyelesaian:
Buka Fail CSV sebagai Pengurus Konteks:
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:</code>
Menggunakan dengan sebagai pengurus konteks mengendalikan secara automatik pembukaan dan penutupan fail CSV, memastikan pengurusan sumber yang betul.
Buat Objek Pembaca dan Penulis:
<code class="python">reader = csv.reader(in_file) writer = csv.writer(out_file)</code>
Csv .reader mencipta objek boleh lelar untuk lelaran melalui baris CSV, manakala csv.writer membenarkan menulis baris ke fail CSV output.
Langkau Pengepala:
<code class="python">next(reader, None)</code>
Baris ini memajukan lelaran ke baris pertama tanpa memberikannya kepada pembolehubah. Dengan memberikan None sebagai hujah kedua, baris yang dilangkau akan dibuang.
Proses dan Tulis Baris yang Selebihnya:
<code class="python">for row in reader: # Perform processing writer.writerow(row)</code>
Lelaran melalui baris yang tinggal, tidak termasuk pengepala, lakukan pemprosesan yang diperlukan dan tulis baris yang diubah suai pada fail output.
Secara Pilihan Tulis Pengepala (jika mahu):
<code class="python">headers = next(reader, None) if headers: writer.writerow(headers)</code>
Blok kod ini membenarkan menulis tajuk ke fail output tidak diproses dengan menghantar hasil next() kepada writer.writerow().
Oleh mengikut langkah ini, kod Python akan melangkau pengepala semasa memproses fail CSV, memastikan baris pertama kekal tidak diubah suai.
Atas ialah kandungan terperinci Bagaimana untuk Melangkau Pengepala Semasa Memproses Fail CSV dengan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!