Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk membaca dan menulis fail csv dalam Python
Untuk menulis kepada CSV dalam Python, gunakan modul csv Python.
Sebagai contoh, mari tulis senarai rentetan pada fail CSV baharu:
import csv data = ["This", "is", "a", "Test"] with open('example.csv', 'w') as file: writer = csv.writer(file) writer.writerow(data)
Jadi anda akan melihat fail bernama example.csv dalam folder semasa anda.
4 Langkah Menulis CSV dalam Python
Untuk menulis fail CSV dalam Python:1Berikut ialah contoh yang menggambarkan proses ini:Buka fail CSV dalam mod penulisan. Ini berlaku menggunakan fungsi open(). Berikan laluan ke fail sebagai hujah pertama. Tentukan mod sebagai hujah kedua ("r" untuk baca, "w" untuk tulis). 2.
Buat objek penulis CSV. Untuk melakukan ini, cipta objek writer() modul csv dan hantar fail terbuka sebagai hujahnya. 3
Tulis data ke fail CSV. Gunakan fungsi writerow() objek penulis untuk menulis data ke fail CSV. 4.
Tutup fail CSV, gunakan kaedah close() fail.
import csv # 1. file = open('test.csv', 'w') # 2. writer = csv.writer(file) # 3. data = ["This", "is", "a", "Test"] writer.writerow(data) # 4. file.close()Kod ini mencipta fail yang dipanggil test.csv dalam folder semasa. Jika fail yang dinyatakan tidak wujud, fungsi open() akan membuka fail baharu. Jika ya, fail sedia ada dibuka. LakaranUntuk memendekkan masa menulis kepada CSV, gunakan pernyataan
dengan untuk membuka fail. Dengan cara ini anda tidak perlu risau tentang menutup fail sendiri. dengan akan mengendalikan bahagian itu secara automatik.
Contoh:import csv # 1. step with open('test.csv', 'w') as file: # 2. step writer = csv.writer(file) # 3. step data = ["This", "is", "a", "Test"] writer.writerow(data)Ini akan mencipta fail CSV baharu yang dipanggil test.csv dalam folder semasa dan menulis senarai rentetan ke dalamnya. Cara menulis aksara bukan ASCII ke CSV dalam PythonSecara lalai, anda tidak boleh menulis aksara bukan ASCII pada fail CSV. Untuk menyokong penulisan nilai bukan ASCII pada fail CSV, tentukan pengekodan aksara sebagai parameter ketiga dalam panggilan open().
with open('PATH_TO_FILE.csv', 'w', encoding="UTF8")Selebihnya proses mengikut langkah yang anda pelajari sebelum ini. Cara membuat pengepala untuk fail CSVSetakat ini, anda telah mencipta fail CSV yang tidak mempunyai struktur. Dalam Python, anda boleh menulis pengepala untuk mana-mana fail CSV menggunakan fungsi writerow() untuk menulis sebarang data ke CSV. Contoh: Mari buat contoh fail CSV yang mengandungi data pelajar. Untuk membina data dengan cekap, pengepala perlu dibuat untuk pelajar pada permulaan fail CSV dan dimasukkan. Anda boleh mengikuti langkah yang sama seperti sebelum ini untuk menulis data pada fail CSV dan anda sudah selesai. Berikut ialah kod:
import csv # Define the structure of the data student_header = ['name', 'age', 'major', 'minor'] # Define the actual data student_data = ['Jack', 23, 'Physics', 'Chemistry'] # 1. Open a new CSV file with open('students.csv', 'w') as file: # 2. Create a CSV writer writer = csv.writer(file) # 3. Write data to the file writer.writerow(student_header) writer.writerow(student_data)Ini akan mencipta fail students.csv ke dalam folder yang sedang anda kerjakan. Fail baharu akan kelihatan seperti ini: Cara menulis berbilang baris pada fail CSV dalam PythonDalam Python, anda boleh menulis berbilang baris pada fail CSV secara serentak menggunakan fungsi writerows() penulis CSV. Contoh. Katakan anda ingin menulis berbilang baris data ke fail CSV. Sebagai contoh, anda mungkin mempunyai senarai pelajar dan bukannya seorang sahaja. Untuk menulis berbilang baris data ke CSV, gunakan kaedah writerows(). Berikut ialah contoh:
import csv student_header = ['name', 'age', 'major', 'minor'] student_data = [ ['Jack', 23, 'Physics', 'Chemistry'], ['Sophie', 22, 'Physics', 'Computer Science'], ['John', 24, 'Mathematics', 'Physics'], ['Jane', 30, 'Chemistry', 'Physics'] ] with open('students.csv', 'w') as file: writer = csv.writer(file) writer.writerow(student_header) # Use writerows() not writerow() writer.writerows(student_data)Ini akan menjana fail CSV baharu seperti yang ditunjukkan di bawah: Cara menulis kamus ke fail CSV dalam PythonMenulis kamus dalam Python boleh dicapai menggunakan DictWriter objek Menulis fail CSV merangkumi tiga langkah berikut: 1 Gunakan objek DictWriter modul csv dan nyatakan nama medan di dalamnya. 2. Gunakan kaedah writeheader() untuk mencipta pengepala ke dalam fail CSV. 3 Gunakan kaedah writerows() untuk menulis data kamus pada fail. Contoh: Mari tulis kamus data pelajar ke fail CSV.
import csv student_header = ['name', 'age', 'major', 'minor'] student_data = [ {'name': 'Jack', 'age': 23, 'major': 'Physics', 'minor': 'Chemistry'}, {'name': 'Sophie', 'age': 22, 'major': 'Physics', 'minor': 'Computer Science'}, {'name': 'John', 'age': 24, 'major': 'Mathematics', 'minor': 'Physics'}, {'name': 'Jane', 'age': 30, 'major': 'Chemistry', 'minor': 'Physics'} ] with open('students.csv', 'w') as file: # Create a CSV dictionary writer and add the student header as field names writer = csv.DictWriter(file, fieldnames=student_header) # Use writerows() not writerow() writer.writeheader() writer.writerows(student_data)Kini hasilnya sama dengan fail students.csv daripada contoh sebelumnya: KesimpulanCSV atau nilai dipisahkan koma adalah format fail yang biasa digunakan. Ia terdiri daripada nilai yang biasanya dipisahkan dengan koma. Untuk menulis CSV dalam Python, anda perlu menggunakan modul csv dengan mengikuti langkah berikut: 1. Buka fail CSV dalam mod tulis. 2. Cipta objek penulis CSV. 3. Tulis data ke fail CSV. 4. Tutup fail CSV. Ini adalah contoh praktikal.
import csv data = ["This", "is", "a", "Test"] with open('example.csv', 'w') as file: writer = csv.writer(file) writer.writerow(data)Selamat mengekod!
Atas ialah kandungan terperinci Bagaimana untuk membaca dan menulis fail csv dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!