Bagaimana untuk Membetulkan Skrip Python yang Melangkau Baris Apabila Menambah Lajur Baharu pada Fail CSV?

Mary-Kate Olsen
Lepaskan: 2024-10-21 21:03:30
asal
394 orang telah melayarinya

How to Fix Python Script that Skips Lines When Adding a New Column to CSV Files?

Cara Menambah Lajur Baharu pada Fail CSV dalam Python

Penerangan Masalah

Anda mempunyai beberapa fail CSV yang mengandungi data seperti ini:

Name        Code
blackberry  1
wineberry   2
rasberry    1
blueberry   1
mulberry    2
Salin selepas log masuk

Anda ingin menambah lajur baharu bernama "Berry" pada semua fail ini, supaya output akan kelihatan seperti ini:

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry
Salin selepas log masuk

Walau bagaimanapun, skrip Python semasa anda tidak berfungsi dengan betul . Ia melangkau setiap baris dan mengisi lajur baharu dengan hanya nilai "Beri".

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu mengubah suai kod untuk menggunakan fungsi next() dan bukannya row0 = r.next() (untuk Python 3, gunakan reader = csv.reader(csvinput)). Kod yang dikemas kini:

<code class="python">import csv

with open('C:/test/test.csv', 'r') as csvinput:
    with open('C:/test/output.csv', 'w') as csvoutput:
        writer = csv.writer(csvoutput, lineterminator='\n')
        reader = csv.reader(csvinput)

        all = []
        row = next(reader)
        row.append('Berry')
        all.append(row)

        for row in reader:
            row.append(row[0])
            all.append(row)

        writer.writerows(all)</code>
Salin selepas log masuk

Nota:

  • Parameter penamat garis ditetapkan kepada 'n' untuk mengelakkan jarak dua kali dalam fail output.
  • Senarai digunakan untuk menambahkan semua baris dan menulisnya dalam satu pukulan menggunakan baris tulis. Ini mungkin tidak sesuai untuk fail yang sangat besar.
  • Kedua-duanya dengan pernyataan terbuka boleh bersarang dalam baris yang sama seperti dengan open('C:/test/test.csv','r') sebagai csvinput, open('C:/test/output.csv', 'w') sebagai csvoutput:.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Skrip Python yang Melangkau Baris Apabila Menambah Lajur Baharu pada Fail CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!