Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menambah Lajur Baharu yang Diperolehi daripada Data Sedia Ada kepada Fail CSV Menggunakan Python?

Bagaimana untuk Menambah Lajur Baharu yang Diperolehi daripada Data Sedia Ada kepada Fail CSV Menggunakan Python?

DDD
DDDasal
2024-10-21 21:00:30307semak imbas

How to Add a New Column Derived from Existing Data to a CSV File Using Python?

Mengubah suai Fail CSV: Menambah Lajur Baharu

Pernyataan Masalah

Memandangkan fail CSV dengan lajur bernama 'Nama' dan 'Kod', kami bertujuan untuk menambah lajur baharu yang dipanggil 'Berry' dengan nilai yang diperoleh daripada lajur 'Nama'. Output yang diingini sepatutnya menyerupai:

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry

Penyelesaian Cadangan

Menggunakan Python dan modul CSV, kami boleh memanipulasi fail CSV seperti berikut:

  1. Buka input fail CSV untuk membaca dan fail CSV output untuk menulis.
  2. Lelaran pada setiap baris dalam fail input menggunakan csv.reader.
  3. Untuk setiap baris, tambah nilai yang dikehendaki untuk ' baru Lajur Berry.
  4. Tulis baris yang diubah suai pada fail output menggunakan csv.writer.

Berikut ialah skrip contoh:

<code class="python">import csv

with open('input.csv', 'r') as input_file, open('output.csv', 'w') as output_file:
    reader = csv.reader(input_file)
    writer = csv.writer(output_file)

    # Read the header row and add the new column
    header = next(reader)
    header.append('Berry')
    writer.writerow(header)

    # Iterate over the remaining rows and modify them
    for row in reader:
        row.append(row[0])    # Set the 'Berry' column to the 'Name' column
        writer.writerow(row)</code>

Pertimbangan Penting

  • Fungsi csv.reader dan csv.writer mengendalikan membaca dan menulis baris dari dan ke fail CSV, masing-masing.
  • Fungsi terbuka dengan pernyataan dengan memastikan pengendalian dan pembersihan fail yang betul.
  • Fungsi seterusnya(pembaca) membaca baris pertama (pengepala) dan memajukan iterator, yang diperlukan untuk menambah lajur baharu pada pengepala.
  • Dalam Python 3, lelaran diperoleh daripada csv .reader menghasilkan tupel, jadi kami mesti menukarnya kepada senarai sebelum mengubah suai dan menulisnya.

Dengan mengikuti langkah ini, kami boleh berjaya menambah lajur baharu pada fail CSV kami, meningkatkan perwakilan datanya.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur Baharu yang Diperolehi daripada Data Sedia Ada kepada Fail CSV Menggunakan Python?. 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