Đọc Ghi File CSV Trong Python - Yêu Lập Trình
Có thể bạn quan tâm
CSV là từ viết tắt Comma Separated Values, có nghĩa là giá trị được phân tách bởi dấu phẩy. CSV được dùng để lưu trữ dữ liệu dạng table như spreadsheet hay database. Python hỗ trợ các hàm có sẵn để thao tác với file csv, chúng ta cùng tìm hiểu nhé.
Về cách mở, đóng file, các chế độ thao tác với file bạn có thể tìm hiểu ở bài trước: đọc ghi file text.
Nội dung của bài
- 1 Đọc file CSV
- 2 Ghi file
- 3 Đọc file CSV và đưa vào Dictionary
- 4 Ghi file CSV từ dictionary
- 5 Sử dụng dấu phân cách khác
- 6 Xử lý dấu phẩy trong nội dung
- 7 Kết luận
Đọc file CSV
Ta có file test.csv với nộ dung:
name,age,job,city Bob,20,Developer,Hà Nội Leo,30,Developer,HCMĐể đọc file chúng ta cần import module csv và sử dụng hàm reader()
import csv with open('test.csv') as f: reader = csv.reader(f) for row in reader: print(row) # Prints: # ['name', 'age', 'job', 'city'] # ['Bob', '20', 'Developer', 'Hà Nội'] # ['Leo', '30', 'Developer', 'HCM']Hàm reader() sẽ đọc file csv, đưa mỗi hàng thành một phân tử của 1 list.
Ghi file
Để ghi vào file csv đã tồm tại chúng ta cần mở file với chế độ: ‘w’, ‘a’ hoặc ‘r+’.
with open('test.csv', 'w') as f: writer = csv.writer(f) writer.writerow(['Bob', '20', 'Developer', 'Hà Nội']) writer.writerow(['Leo', '30', 'Developer', 'HCM'])Đọc file CSV và đưa vào Dictionary
Chúng ta có thể đọc file csv và trả ra kết quả là một dictionary với điều kiện dòng đầu tiên của file sẽ là tên các cột.
import csv with open('test.csv') as f: reader = csv.DictReader(f) for row in reader: print(row) # Prints: # {'job': 'Manager', 'city': 'Hà Nội', 'age': '20', 'name': 'Bob'} # {'job': 'Developer', 'city': 'HCM', 'age': '30', 'name': 'Leo'}Nếu dòng đầu tiên của file CSV không có tên cột thì chúng ta cần cấu hình thêm tham số fieldnames
import csv with open('test.csv') as f: keys = ['name', 'age', 'job', 'city'] reader = csv.DictReader(f, fieldnames=keys) for row in reader: print(row) # Prints: # {'job': 'Manager', 'city': 'Hà Nội', 'age': '20', 'name': 'Bob'} # {'job': 'Developer', 'city': 'HCM', 'age': '30', 'name': 'Leo'}Ghi file CSV từ dictionary
Để ghi dictionary vào CSV file chúng ta có thể sử dụng hàm DictWriter() và phải truyền giá trị cho tham số fieldnames.
mport csv with open('myfile.csv', mode='w') as f: keys = ['name', 'age', 'job', 'city'] writer = csv.DictWriter(f, fieldnames=keys) writer.writeheader() # thêm tên cột vào file. writer.writerow({'job': 'Developer', 'city': 'Hà Nội', 'age': '20', 'name': 'Bob'}) writer.writerow({'job': 'Developer', 'city': 'HCM', 'age': '30', 'name': 'Leo'})Sử dụng dấu phân cách khác
Dấu phẩy (,) là mặc định trong file csv, tuy nhiên chúng ta có thể sử dụng dấu phân cách khác như |, tab \t, dấu hai chấm : hoặc dấu chấm phẩy ;
# Sử dụng dấu phân cách '|' import csv with open('test.csv', mode='w') as f: writer = csv.writer(f, delimiter='|') writer.writerow(['Bob', '20', 'Developer', 'Hà Nội']) writer.writerow(['Sam', '30', 'Developer', 'HCM'])Thử đọc file này nhé
import csv with open('myfile.csv') as f: reader = csv.reader(f, delimiter='|') for row in reader: print(row) # prints # ['Bob', '20', 'Developer', 'Hà Nội'] # ['Leo', '30', 'Developer', 'HCM']Xử lý dấu phẩy trong nội dung
Có nhiều trường hợp chúng ta cân lưu giá trị như địa chỉ nhà: Cầu giấy, Hà Nội. Thông thường khi ghi vào file CSV thì sẽ hiểu đây là 2 cột khác nhau. Để giải quyết vấn đề này chúng ta sử dụng tham số: quotechar.
import csv with open('test.csv', mode='w') as f: writer = csv.writer(f, quotechar='"') writer.writerow(['Bob', '20', 'Cầu Giấy, Hà Nội']) writer.writerow(['Leo', '30', 'Ba Đình, Hà Nội'])File test.csv có nôi dụng:
Bob,25,"Cầu Giấy, Hà Nội" Leo,30,"Ba Đình, Hà Nội"Thử đọc file này nhé:
import csv with open('myfile.csv') as f: reader = csv.reader(f, quotechar='"') for row in reader: print(row) # Prints: # ['Bob', '20', 'Cầu Giấy, Hà Nội'] # ['Sam', '30', 'Ba Đình, Hà Nội']Kết luận
Python đã hỗ trợ các hàm built-in để thao tác với file CSV, hôm nay chúng ta cũng đã tìm hiểu kỹ về cách đọc, ghi với file CSV. Các bạn hãy thực hành nhiều hơn để sử dụng thuần thục những kiến thức trong bài nhé.
Từ khóa » đọc Ghi File Csv Trong Python
-
Đọc File Csv Trong Python
-
Ghi File Csv Trong Python | - Lập Trình Căn Bả
-
Pandas Đọc Ghi File CSV
-
Làm Việc Với Tệp CSV Trong Python - T3H
-
Chi Tiết Bài Học 24.Đọc Và Ghi Tệp CSV Trong Python Bằng Mô-đun ...
-
Đọc File CSV Trong Python - Học Lập Trình Python - Viettuts
-
Ghi Dữ Liệu Ra File Csv Trong Python
-
Đọc File Csv Tiếng Viết Trong Python
-
Đọc File CSV Trong Python - Học Hỏi Net
-
Đọc Và Viết Dữ Liệu Với File CSV Trong Python - Desktop Of ITers
-
Đọc File CSV, JSON, XLSX Bằng Python - W3seo
-
Đọc File CSV Trong Python
-
Hướng Dẫn Thực Hành PANDAS Read File CSV Và Xử Lý Cơ Bản Dữ ...