Mencipta Kamus daripada Fail CSV
Apabila bekerja dengan data dalam format CSV, ia boleh memberi manfaat untuk menyimpan maklumat dalam kamus , di mana setiap baris dalam fail CSV mewakili pasangan nilai kunci. Mencipta kamus tunggal daripada fail CSV ialah tugas biasa.
Masalah:
Seorang pengguna cuba mencipta kamus daripada fail CSV menggunakan kelas csv.reader , tetapi mengalami ralat semasa melelaran ke atas baris. Kod tersebut menghasilkan ValueError: terlalu banyak nilai untuk dibongkar (dijangka 2).
Penyelesaian:
Isu timbul daripada penggunaan mydict yang salah = {k:v untuk k, v dalam baris}. Kod ini cuba mencipta kamus untuk setiap baris secara berasingan, bukannya mengumpul semua pasangan nilai kunci ke dalam satu kamus. Sintaks yang betul untuk mencipta kamus daripada fail CSV adalah seperti berikut:
mydict = {rows[0]:rows[1] for rows in reader}
Kod ini berulang melalui setiap baris dalam fail CSV dan menetapkan lajur pertama sebagai kunci dan lajur kedua sebagai nilai dalam kamus. Mydict yang terhasil akan mengandungi semua pasangan nilai kunci daripada fail CSV.
Sebagai alternatif, untuk versi Python <= 2.7.1, sintaks berikut boleh digunakan:
mydict = dict((rows[0],rows[1]) for rows in reader)
Atas ialah kandungan terperinci Bagaimana untuk Membuat Kamus dengan Betul dari Fail CSV dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!