Mengapa kod Python saya memproses baris pengepala dalam fail CSV dan bukannya melangkaunya?

Mary-Kate Olsen
Lepaskan: 2024-10-30 20:49:02
asal
267 orang telah melayarinya

Why is my Python code processing the header row in a CSV file instead of skipping it?

Melangkau Tajuk Semasa Memproses Fail CSV dengan Python

Masalah:

Dalam Python, fail CSV sedang diproses , tetapi baris pertama (baris pengepala) sedang diubah suai dan bukannya dikecualikan.

Kod dalam Soalan:

<code class="python">in_file = open("tmob_notcleaned.csv", "rb")
reader = csv.reader(in_file)
out_file = open("tmob_cleaned.csv", "wb")
writer = csv.writer(out_file)
row = 1

for row in reader:
    # Row processing logic

in_file.close()    
out_file.close()</code>
Salin selepas log masuk

Isu:

Memulakan pembolehubah 'baris' kepada 1 tidak menghalang baris pengepala daripada diproses.

Penyelesaian:

Untuk melangkau baris pengepala, gunakan the next() berfungsi untuk memajukan pembaca yang boleh dilelang oleh satu item. Nilai pulangan next() boleh diabaikan dalam kes ini.

Kod Diubah Suai:

<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:
    reader = csv.reader(in_file)
    next(reader, None)  # Skip the header row
    writer = csv.writer(out_file)

    for row in reader:
        # Row processing logic</code>
Salin selepas log masuk

Pilihan Alternatif:

Jika baris pengepala dikehendaki dalam fail output, ia boleh dihantar kepada writer.writerow() sebelum gelung:

<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:
    reader = csv.reader(in_file)
    headers = next(reader, None)  # Returns the header row or None if the input is empty

    if headers:
        writer.writerow(headers)

    for row in reader:
        # Row processing logic</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa kod Python saya memproses baris pengepala dalam fail CSV dan bukannya melangkaunya?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!