Takeaways Key
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. -
Dalam artikel ini, kami akan belajar cara menggunakan Python untuk membaca dan menulis data ke fail CSV, dan bagaimana untuk menukar fail CSV ke format JSON dan sebaliknya. Kami akan meneroka cara menggunakan modul CSV dan juga melihat contoh -contoh yang membantu memahami bagaimana ia berfungsi.
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,,Finance
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Seperti 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 csv mempunyai fungsi CSV.Reader () untuk membaca fail CSV. Ia digunakan bersama-sama dengan objek (termasuk objek fail) seperti yang dihasilkan dengan fungsi terbuka () yang dibina dalam Python.
diberikan objek fail dari panggilan untuk membuka (), csv.reader () akan mengembalikan objek pembaca. Objek pembaca boleh digunakan untuk melangkah ke atas setiap baris data CSV, di mana baris dikembalikan sebagai senarai rentetan.
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,,Finance
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Berikut 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>
Salin selepas log masuk
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>
Salin selepas log masuk
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>
Salin selepas log masuk
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>
Salin selepas log masuk
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
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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. 🎜>
Python menyediakan beberapa perpustakaan untuk menukar fail CSV ke format yang berbeza. Sebagai contoh, anda boleh menggunakan perpustakaan Pandas untuk menukar fail CSV ke fail Excel, pangkalan data SQL, atau fail JSON. >
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!