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

Mary-Kate Olsen
Lepaskan: 2024-10-21 21:12:02
asal
320 orang telah melayarinya

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>
Salin selepas log masuk

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>
    Salin selepas log masuk

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!

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!