tableLàm việc với CSV

1. Giới thiệu

CSV (Comma-Separated Values) là định dạng file văn bản dùng để lưu trữ dữ liệu dạng bảng. Mỗi dòng trong file là một hàng dữ liệu, các giá trị được ngăn cách bởi dấu phẩy.

Tại sao học CSV?

  • ✅ Định dạng phổ biến để trao đổi dữ liệu

  • ✅ Dễ đọc bằng mắt thường

  • ✅ Mở được bằng Excel, Google Sheets

  • ✅ Thư viện csv của Python rất dễ sử dụng

Ví dụ file CSV

name,age,city
Alice,25,New York
Bob,30,Los Angeles
Charlie,22,Chicago

2. Module csv

Python có module csv built-in để làm việc với file CSV.

import csv

3. Đọc File CSV

3.1 - Đọc CSV với csv.reader()

Output:

3.2 - Bỏ qua header (dòng tiêu đề)

Output:

3.3 - Đọc CSV thành list

4. Đọc CSV với DictReader

DictReader đọc mỗi dòng thành dictionary với key là tên cột.

Output:

Ưu điểm của DictReader

  • ✅ Truy cập dữ liệu bằng tên cột

  • ✅ Code dễ đọc và bảo trì

  • ✅ Tự động xử lý header

5. Ghi File CSV

5.1 - Ghi CSV với csv.writer()

5.2 - Ghi nhiều dòng cùng lúc

5.3 - Ghi CSV với delimiter khác

6. Ghi CSV với DictWriter

7. Thêm dữ liệu vào CSV (Append)

8. Xử lý delimiter và quotechar

8.1 - Custom delimiter

8.2 - Xử lý dấu ngoặc kép

9. Ví dụ thực tế

Ví dụ 1: Đọc và xử lý dữ liệu điểm số

Ví dụ 2: Lọc và ghi dữ liệu

Ví dụ 3: Đếm và thống kê

10. Lỗi thường gặp

Lỗi 1: Quên newline=''

Lỗi 2: Quên encoding

Lỗi 3: Không đóng file

11. Tips và Best Practices

1. Luôn dùng context manager (with)

2. Xác định encoding

3. Dùng DictReader/DictWriter cho code dễ đọc

4. Xử lý exception

12. So sánh reader vs DictReader

Feature
csv.reader
csv.DictReader

Kiểu dữ liệu trả về

List

Dictionary

Truy cập dữ liệu

Theo index: row[0]

Theo key: row['name']

Xử lý header

Thủ công

Tự động

Tốc độ

Nhanh hơn một chút

Chậm hơn một chút

Dễ đọc

Ít hơn

Nhiều hơn

Khuyến nghị: Dùng DictReader/DictWriter cho hầu hết trường hợp vì code dễ đọc và bảo trì.

Last updated