


Bekerja dengan fail CSV menggunakan python, dengan contoh
Feb 15, 2025 am 08:52 AM
- modul CSV terbina dalam Python menyediakan fungsi dan kelas untuk membaca, menulis, dan mengendalikan data dalam format CSV. Fungsi CSV.Reader () boleh digunakan untuk membaca fail CSV, manakala csv.writer () membolehkan penulisan data ke fail CSV.
- Fail CSV boleh ditukar kepada format JSON menggunakan kelas CSV.Dictreader Python, yang menukarkan fail CSV ke kamus Python. Kamus kemudian boleh ditukar ke fail JSON menggunakan fungsi JSON.DUMP ().
- Fail JSON boleh ditukar kepada format CSV dengan menggunakan fungsi JSON.LOAD () untuk menukar fail JSON ke kamus python. Kaedah kelas CSV.Dictwriter kemudian boleh digunakan untuk menukar kamus ke fail CSV.
- fail CSV biasanya digunakan untuk import dan eksport data dalam spreadsheet dan pangkalan data. Modul CSV Python memudahkan kerja dengan fail CSV dan menukarnya kepada format lain seperti JSON.
Fail CSV (nilai yang dipisahkan koma) adalah format fail teks yang membolehkan data disimpan dalam struktur tabular. Ini adalah format popular yang digunakan untuk mengeksport dan mengimport data dari pangkalan data dan spreadsheet.
Seperti namanya, setiap sekeping data dalam fail CSV dipisahkan oleh koma (,). Kadang -kadang istilah "CSV" boleh digunakan untuk menggambarkan format dengan jenis pemisah lain, seperti kolon (:), titik koma (;) dan tab (t). Untuk tujuan artikel ini, kami hanya akan berurusan dengan fail CSV yang menggunakan koma sebagai pembatas (dikenali sebagai RFC 4180).
Apabila dibuka, kandungan fail CSV kelihatan seperti ini:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,FinanceSeperti yang dilihat di atas, pemisah koma, ,, digunakan untuk memisahkan setiap sekeping data tertentu dalam fail.
Baris pertama data mungkin secara pilihan berfungsi sebagai tajuk, mengenal pasti setiap lajur data di bawahnya. Fail CSV biasanya disimpan dengan sambungan fail .csv.
Modul CSV
Oleh kerana spreadsheet dan pangkalan data seperti MS SQL boleh diimport dan dieksport sebagai fail CSV, penting untuk mengetahui cara mengendalikan data yang disampaikan dalam format CSV secara programatik. Kebanyakan bahasa pengaturcaraan seperti fail pengendalian sokongan python di CSV dan juga mengubahnya ke format lain seperti JSON.
Python menyediakan modul
csv untuk membaca, menulis dan melakukan bentuk pengendalian fail lain dalam format CSV. Perpustakaan yang dibina menyediakan fungsi dan kelas yang membuat kerja dengan fail CSV lancar.
bagaimana membaca fail CSV menggunakan python
modul
mari kita ambil contoh:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,FinanceBerikut adalah output kod di atas:
<span>import csv </span> <span>with open('employees.csv', newline='') as file_obj: </span> reader_obj <span>= csv.reader(file_obj) </span> <span>for row in reader_obj: </span> <span>print(row) </span>Dari coretan kod pertama, fail Pekerja.CSV dibuka, selepas itu fungsi CSV.Reader () mengasingkannya dan mengembalikan objek pembaca. Mudah untuk gelung digunakan untuk melangkah ke atas objek pembaca, yang mengembalikan senarai data dari setiap baris dari fail porker.csv, bermula dari atas.
cara menulis ke fail CSV menggunakan python
Selain membaca data dari fail CSV, kami juga boleh menulis data ke fail -fail ini di Python. Fungsi CSV.Writer () membolehkan kami menulis data ke format CSV. Selepas membuka fail dalam mod Write, fungsi CSV.Writer () mengembalikan objek penulis, yang menukarkan data yang dibekalkan ke dalam rentetan yang dibatasi pada objek fail yang disediakan. Objek penulis mempunyai kaedah penulis () untuk menulis baris-satu rentetan atau bilangan nilai yang dipisahkan koma setiap masa-sementara kaedah Writerows () digunakan untuk berbilang baris sekaligus. Kaedah penulis () dan penulis () adalah hanya dua pilihan untuk menulis data ke fail CSV.
Semua objek senarai yang digunakan dalam coretan kod di atas boleh dikelompokkan ke dalam senarai 2D dan diluluskan sebagai hujah kepada kaedah penulis () objek penulis untuk mencapai hasil yang sama.
Selepas pernyataan dengan dilaksanakan, fail CSV (Products.csv) dibuat dalam direktori kerja semasa yang mengandungi nilai-nilai yang dipisahkan koma ini.
Berikut adalah contoh:
<span>['Employee Id', 'First Name', 'Gender', 'Start Date', 'Last Login Time', 'Salary', 'Bonus %', 'Senior Management', 'Team'] </span><span>['1', 'Douglas', 'Male', '8/6/1993', '12:42 PM', '', '6.945', 'TRUE', 'Marketing'] </span><span>['2', 'Thomas', 'Male', '3/31/1996', '6:53 AM', '61933', '4.17', '', ''] </span><span>['3', 'Maria', 'Female', '4/23/1993', '11:17 AM', '', '11.858', 'FALSE', 'Finance'] </span><span>['4', 'Jerry', 'Male', '3/4/2005', '1:00 PM', '138705', '9.34', '', 'Finance'] </span><span>['5', 'Larry', 'Male', '1/24/1998', '4:47 PM', '101004', '1.389', 'TRUE', 'Client Services'] </span><span>... </span>Berikut adalah output kod di atas:
<span>import csv </span> <span>with open('products.csv', 'w', newline='') as file_obj: </span> writer_obj <span>= csv.writer(file_obj) </span> writer_obj<span>.writerow(['Product Name', 'Price', 'Quantity', 'SKU Number' ]) </span> writer_obj<span>.writerow(['Rice', 80, 35, 'RI59023']) </span> writer_obj<span>.writerow(['Curry', 2, 200, 'CY13890']) </span> writer_obj<span>.writerow(['Milk', 9.5, 315, 'MK10204']) </span>bagaimana untuk menukar CSV ke JSON menggunakan python
Semasa melakukan operasi I/O Fail, kami mungkin mahu menukar fail CSV ke format JSON - yang popular untuk menerima dan menghantar data antara klien dan pelayan. Modul
CSV menyediakan kelas CSV.Dictreader untuk membantu kami mencapai matlamat ini.
Kaedah kelas CSV.Dictreader membantu menukar fail CSV yang diberikan kepada kamus python sebelum menggunakan fungsi JSON.DUMP () modul untuk menukar kamus python yang terhasil kepada fail JSON. Kelas CSV.Dictreader () mengambil hujah nama lapangan pilihan. Di mana nama medan ditinggalkan, nilai dari baris pertama akan dipetakan ke seluruh data sebagai nama medan.mari kita lihat contoh:
Berikut adalah output kod di atas:
Product Name<span>,Price,Quantity,SKU Number </span>Rice<span>,80,35,RI59023 </span>Curry<span>,2,200,CY13890 </span>Milk<span>,9.5,315,MK10204 </span>
Untuk menukar fail CSV ke setara JSON, kami menggunakan langkah -langkah berikut:
- Membuka fail Pekerja.csv dalam mod baca
- mencipta kamus python dari objek fail yang dikembalikan menggunakan kelas csv.dictreader
- membuka fail JSON dalam mod tulis, seperti Pekerja.JSON (jika tidak ada fail sedemikian, seseorang akan dicipta)
- menggunakan fungsi dump () modul json untuk menukar kamus python (my_dict) ke fail json
bagaimana untuk menukar json ke csv menggunakan python
Dalam bahagian ini, kita akan melihat cara menukar data dari fail JSON ke format CSV. Untuk mencapai matlamat ini, kami akan menggunakan kedua-dua modul Python CSV dan JSON . Fungsi JSON.Load () modul JSON akan membantu menukar fail JSON ke kamus python, manakala kaedah kelas CSV.dictwiter module csv csv Fail.
Berikut adalah contoh:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
Untuk menukar fail JSON ke setara CSV, kami menggunakan langkah -langkah berikut:
- Membuka fail Pekerja.JSON dalam mod baca
- menggunakan fungsi JSON.LOAD () untuk membuat py_dict kamus python
- membuka fail CSV file_records.csv dalam mod tulis (jika tidak ada fail sedemikian, seseorang akan dibuat)
- mencipta objek penulis dengan kelas csv.dictwriter dengan argumen yang diperlukan
- menggunakan kaedah objek penulis untuk memetakan kamus ke dalam bilangan baris yang sesuai
Kesimpulan
fail CSV sangat popular dan sering digunakan dalam mengeksport dan mengimport spreadsheet dan pangkalan data. Format fail ini digunakan dengan kerap oleh mereka yang bekerja dengan data. Walau bagaimanapun, semasa pengaturcaraan dengan Python mungkin perlu dengan cepat menggunakan fail CSV, jadi penting untuk belajar bagaimana untuk melakukan operasi I/O Fail dengan CSV.
modul Python's CSV sangat berguna untuk bekerja dengan fail CSV, kerana ia menyediakan fungsi dan kelas yang diperlukan untuk tugas -tugas seperti ini.
Penting juga untuk diperhatikan bahawa kita mungkin perlu menukar fail dari satu format ke format yang lain (CSV ke JSON) seperti yang dilihat dalam contoh kami di atas.Soalan Lazim (Soalan Lazim) Mengenai Fail CSV Python
Bagaimana saya boleh mengendalikan fail CSV yang besar di Python?
Mengendalikan fail CSV yang besar di Python boleh menjadi sedikit mencabar kerana kekangan memori. Walau bagaimanapun, modul CSV terbina dalam Python menyediakan cara untuk membaca dan menulis fail CSV dalam ketulan yang lebih kecil, sehingga memungkinkan untuk bekerja dengan fail besar. Anda boleh menggunakan objek pembaca dalam gelung untuk membaca sejumlah baris tertentu pada satu masa. Dengan cara ini, anda boleh memproses fail yang besar dalam ketulan yang lebih kecil, lebih mudah diurus. Modul CSV. Anda boleh menggunakan objek penulis dan kaedah penulisnya untuk menulis satu baris, atau kaedah Writerows untuk menulis pelbagai baris sekaligus. Ingatlah untuk membuka fail dalam mod Write ('W') sebelum menulis kepadanya.
Bagaimana saya boleh mengendalikan fail CSV dengan pembatas yang berbeza di Python? Objek pembaca dan penulis mengambil parameter pembatas, yang boleh anda tetapkan kepada mana -mana watak yang digunakan oleh fail CSV anda sebagai pembatas. Fail CSV anda termasuk baris header, anda boleh menggunakan objek DiCtreader dalam modul CSV untuk membaca fail. Objek ini merawat setiap baris sebagai kamus, di mana kunci adalah nama lajur dari baris header, dan nilai -nilai adalah data dalam setiap baris. ??>
Modul CSV di Python menyediakan quot_minimal, quote_all, quote_nonnumeric, dan quote_none pemalar untuk mengendalikan medan yang disebutkan dalam fail CSV. Anda boleh menentukan pemalar ini sebagai parameter memetik apabila membuat objek pembaca atau penulis. Boleh mengendalikannya dengan membuka fail dalam mod binari dan menggunakan modul Unicodecsv dan bukannya modul CSV terbina dalam. Modul ini berfungsi seperti modul CSV, tetapi ia menyokong aksara unicode. Bagaimana saya boleh mengendalikan fail CSV dengan nilai yang hilang dalam python? Perpustakaan di Python. Anda boleh membaca fail CSV ke dalam DataFrame, dan kemudian gunakan kaedah Fillna untuk mengisi nilai yang hilang dengan nilai tertentu atau nilai yang dikira. ??>
Anda boleh menyusun fail CSV dengan lajur tertentu menggunakan perpustakaan Pandas di Python. Selepas membaca fail CSV ke dalam data data, anda boleh menggunakan kaedah sort_values ??untuk menyusun data data dengan satu atau lebih lajur.
Anda boleh menapis baris dalam fail CSV berdasarkan keadaan menggunakan perpustakaan Pandas di Python. Selepas membaca fail CSV ke dalam data data, anda boleh menggunakan pengindeksan boolean untuk menapis data data berdasarkan keadaan.Atas ialah kandungan terperinci Bekerja dengan fail CSV menggunakan python, dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Polimorfisme adalah konsep teras dalam pengaturcaraan berorientasikan objek Python, merujuk kepada "satu antara muka, pelbagai pelaksanaan", yang membolehkan pemprosesan bersatu pelbagai jenis objek. 1. Polimorfisme dilaksanakan melalui penulisan semula kaedah. Subkelas boleh mentakrifkan semula kaedah kelas induk. Sebagai contoh, kaedah bercakap () kelas haiwan mempunyai pelaksanaan yang berbeza dalam subkelas anjing dan kucing. 2. Penggunaan praktikal polimorfisme termasuk memudahkan struktur kod dan meningkatkan skalabilitas, seperti memanggil kaedah cabutan () secara seragam dalam program lukisan grafik, atau mengendalikan tingkah laku umum watak -watak yang berbeza dalam pembangunan permainan. 3. Polimorfisme pelaksanaan Python perlu memenuhi: Kelas induk mentakrifkan kaedah, dan kelas kanak -kanak mengatasi kaedah, tetapi tidak memerlukan warisan kelas induk yang sama. Selagi objek melaksanakan kaedah yang sama, ini dipanggil "jenis itik". 4. Perkara yang perlu diperhatikan termasuk penyelenggaraan

"Hello, dunia!" Program adalah contoh paling asas yang ditulis dalam Python, yang digunakan untuk menunjukkan sintaks asas dan mengesahkan bahawa persekitaran pembangunan dikonfigurasi dengan betul. 1. Ia dilaksanakan melalui garis cetakan kod ("Hello, World!"), Dan selepas berlari, teks yang ditentukan akan dikeluarkan pada konsol; 2. Langkah -langkah berjalan termasuk memasang python, menulis kod dengan editor teks, menyimpan sebagai fail .py, dan melaksanakan fail di terminal; 3. Kesilapan umum termasuk kurungan atau petikan yang hilang, penyalahgunaan cetakan modal, tidak menyimpan format .py, dan kesilapan persekitaran yang menjalankan; 4. Alat pilihan termasuk terminal editor teks tempatan, editor dalam talian (seperti replit.com)

Untuk menghasilkan rentetan rawak, anda boleh menggunakan kombinasi modul rawak dan rentetan Python. Langkah -langkah khusus ialah: 1. Import modul rawak dan rentetan; 2. Tentukan kolam watak seperti string.ascii_letters dan string.digits; 3. Tetapkan panjang yang diperlukan; 4. Panggil Random.Choices () untuk menjana rentetan. Sebagai contoh, kod tersebut termasuk importrandom dan importstring, set panjang = 10, aksara = string.ascii_letters string.digits dan laksanakan '' .join (random.c

Algorithmmsinpythonareessentialforefficientplemlemen-solvinginprogramming.theyarestep-by-stepproceduresedtosolvetaskslikesorting, carian, anddatamanipulation.CommontypesincludesortalgorithmslinybineShmseCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeCkeChmmsline, carianShmseKorithmseCkeCkeChmmmslareLineShmseKorithmmslareLineShmmslikeCkeCkeCksort,

Listslicinginpythonextractsaportionofalistusingindices.1.itusesthesyntaxlist [start: end: step], wherestartislusive, endisexclusive, andstepdefinestheinterval.2.ifstartorendareomitt

Kaedah kelas adalah kaedah yang ditakrifkan dalam python melalui penghias @classmethod. Parameter pertamanya adalah kelas itu sendiri (CLS), yang digunakan untuk mengakses atau mengubah keadaan kelas. Ia boleh dipanggil melalui kelas atau contoh, yang mempengaruhi seluruh kelas dan bukannya contoh tertentu; Sebagai contoh, dalam kelas orang, kaedah show_count () mengira bilangan objek yang dibuat; Apabila menentukan kaedah kelas, anda perlu menggunakan penghias @classmethod dan namakan parameter pertama CLS, seperti kaedah change_var (new_value) untuk mengubah suai pembolehubah kelas; Kaedah kelas adalah berbeza daripada kaedah contoh (parameter diri) dan kaedah statik (tiada parameter automatik), dan sesuai untuk kaedah kilang, pembina alternatif, dan pengurusan pembolehubah kelas. Kegunaan biasa termasuk:

Modul CSV Python menyediakan cara mudah untuk membaca dan menulis fail CSV. 1. Apabila membaca fail CSV, anda boleh menggunakan csv.reader () untuk membaca garis mengikut baris dan mengembalikan setiap baris data sebagai senarai rentetan; Jika anda perlu mengakses data melalui nama lajur, anda boleh menggunakan csv.dictreader () untuk memetakan setiap baris ke dalam kamus. 2. Apabila menulis ke fail CSV, gunakan kaedah CSV.Writer () dan hubungi Writerow () atau Writerows () untuk menulis satu baris data tunggal atau berbilang; Jika anda ingin menulis data kamus, gunakan csv.dictwriter (), anda perlu menentukan nama lajur terlebih dahulu dan tulis tajuk melalui WriteHeader (). 3. Semasa mengendalikan kes kelebihan, modul secara automatik mengendalikannya

Parameter adalah ruang letak apabila menentukan fungsi, sementara argumen adalah nilai khusus yang diluluskan ketika memanggil. 1. Parameter kedudukan perlu diluluskan, dan perintah yang salah akan membawa kepada kesilapan dalam hasilnya; 2. Parameter kata kunci ditentukan oleh nama parameter, yang boleh mengubah pesanan dan meningkatkan kebolehbacaan; 3. Nilai parameter lalai diberikan apabila ditakrifkan untuk mengelakkan kod pendua, tetapi objek berubah harus dielakkan sebagai nilai lalai; 4 Args dan *kwargs boleh mengendalikan bilangan parameter yang tidak pasti dan sesuai untuk antara muka umum atau penghias, tetapi harus digunakan dengan berhati -hati untuk mengekalkan kebolehbacaan.
