Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Nilai Minimum daripada Lajur CSV sambil Mengabaikan Baris Pengepala?

Bagaimanakah Saya Boleh Mengeluarkan Nilai Minimum daripada Lajur CSV sambil Mengabaikan Baris Pengepala?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 19:10:03260semak imbas

How Can I Extract the Minimum Value from a CSV Column while Ignoring the Header Row?

Mengabaikan Baris Pertama Data CSV untuk Pengekstrakan Nilai Minimum

Apabila memproses data CSV, selalunya perlu melangkau baris pertama, yang biasanya mengandungi tajuk lajur. Untuk mengabaikan baris pertama semasa mengekstrak nilai minimum daripada lajur tertentu, langkah berikut boleh diambil:

Menggunakan csv.Sniffer Class dan Fungsi next()

  1. Gunakan kelas csv.Sniffer untuk mengesan jika fail CSV mempunyai baris pengepala.
  2. Buka fail CSV untuk membaca dan cari ke permulaan.
  3. Jika baris pengepala dikesan, majukan pembaca ke baris seterusnya menggunakan fungsi next().
  4. Nyatakan indeks lajur dan jenis data untuk mengekstrak nilai minimum.
  5. Gunakan ungkapan penjana untuk mengulang setiap baris dan ekstrak nilai daripada lajur yang ditentukan.
  6. Cari nilai minimum daripada nilai yang diekstrak.

Contoh Kod untuk Python 3.x:

import csv

with open('all16.csv', 'r', newline='') as file:
    has_header = csv.Sniffer().has_header(file.read(1024))
    file.seek(0)  # Rewind.
    reader = csv.reader(file)
    if has_header:
        next(reader)  # Skip header row.
    column = 1
    data = (float(row[column]) for row in reader)
    least_value = min(data)

print(least_value)

Pengoptimuman untuk Nilai Berkod Tegar

Memandangkan lajur dan jenis data dikodkan keras dalam contoh, pengoptimuman berikut boleh dibuat untuk pemprosesan yang lebih pantas:

data = (float(row[1]) for row in reader)

Nota untuk Python 2.x

Untuk Python 2.x, gunakan baris berikut untuk membuka fail:

with open('all16.csv', 'rb') as file:

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai Minimum daripada Lajur CSV sambil Mengabaikan Baris Pengepala?. 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