Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambah Lajur Baharu pada Fail CSV Mengekalkan Nilai Sedia Ada?

Bagaimana untuk Menambah Lajur Baharu pada Fail CSV Mengekalkan Nilai Sedia Ada?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-21 21:12:02302semak imbas

How to Add a New Column to a CSV File Preserving Existing Values?

Menambah Lajur Baharu pada Fail CSV

Artikel ini menangani isu penambahan lajur baharu pada berbilang fail CSV, sedia ada dalam format dengan dua lajur sedia ada berlabel "Nama" dan "Kod." Output yang diingini ialah menambah lajur ketiga bernama "Berry" dan mengisi nilainya dengan nilai "Nama".

Skrip Python awal menggunakan perpustakaan csv cuba menambahkan nilai 'Berry' pada setiap baris, tetapi mengalami ralat apabila hanya lajur baharu diisi dengan nilai 'Berry'.

Penyelesaian

Kod disyorkan yang dibentangkan dalam bahagian jawapan menyediakan penyelesaian yang komprehensif:

  • Baca baris pertama daripada fail CSV input dan tambahkan pengepala 'beri' padanya.
  • Lelaran melalui baris yang tinggal dan tambah nilai pertama (nama) pada setiap baris.
  • Tulis semua baris yang diubah suai pada fail CSV output.

Pelaksanaan

Berikut ialah skrip Python yang disemak dan dipertingkat berdasarkan penyelesaian yang disediakan:

<code class="python">import csv

with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
    reader = csv.reader(infile)
    header = next(reader)
    header.append('Berry')
    writer = csv.writer(outfile)
    writer.writerow(header)

    for row in reader:
        row.append(row[0])
        writer.writerow(row)</code>

Skrip ini berjaya menambahkan lajur "Beri" baharu pada setiap baris, diisi dengan nilai "Nama" yang sepadan.

Pertimbangan Tambahan

  • Berhati-hati bahawa penamat baris lalai dalam pustaka csv Python ialah 'rn,' yang mungkin menyebabkan jarak dua kali dalam fail output. Untuk menentukan penamat baris yang berbeza, gunakan parameter penamat baris semasa penulisan fail CSV.
  • Pertimbangkan untuk menggunakan senarai untuk menyimpan semua baris yang diubah suai dan tuliskannya dalam satu operasi dengan baris tulis. Pendekatan ini boleh menjadi lebih cekap untuk fail besar.
  • Pernyataan with boleh digunakan pada berbilang fail dalam satu baris, seperti yang ditunjukkan dalam contoh berikut:

    <code class="python">with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
      # file operations</code>

Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur Baharu pada Fail CSV Mengekalkan Nilai Sedia Ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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