Tìm hiểu cách sử dụng hàm pandas read_excel trong Python để cài đặt engine, đọc một hoặc nhiều sheet, quản lý kiểu dữ liệu dtypes và xuất kết quả dễ dàng.
Giới thiệu
Trong phân tích dữ liệu với Python, Pandas là thư viện hàng đầu giúp xử lý và thao tác dữ liệu hiệu quả. Hàm pandas.read_excel() cung cấp khả năng đọc dữ liệu trực tiếp từ các tệp Excel (.xlsx, .xls) vào cấu trúc DataFrame để xử lý tiếp theo. Bài viết này Bitech sẽ hướng dẫn bạn cách cài đặt engine cần thiết, đọc một hoặc nhiều sheet, điều khiển kiểu dữ liệu (dtypes) và xuất dữ liệu ra file mới.
1. Cài đặt các thư viện hỗ trợ (Engine)
Để Pandas có thể đọc được các file Excel, bạn cần cài đặt thêm các engine xử lý tương ứng như openpyxl (dành cho định dạng .xlsx) hoặc xlrd (dành cho định dạng .xls cũ).
Bạn chạy lệnh sau trong Terminal hoặc Command Prompt:
pip install pandas openpyxl xlrd
2. Đọc file Excel cơ bản
Mặc định, khi gọi hàm read_excel(), Pandas sẽ tự động đọc dữ liệu từ sheet đầu tiên của file Excel.
import pandas as pd
# Đọc sheet đầu tiên của file Excel
df = pd.read_excel('du_lieu.xlsx')
# Hiển thị 5 dòng dữ liệu đầu tiên
print(df.head())
3. Quản lý và đọc các Sheet cụ thể
Bạn có thể chủ động chọn đọc một sheet theo tên, theo chỉ số (index), hoặc thậm chí tải toàn bộ các sheet cùng lúc bằng tham số sheet_name.
Đọc sheet theo tên hoặc chỉ số index
# Đọc sheet có tên là 'BaoCao'
df_baocao = pd.read_excel('du_lieu.xlsx', sheet_name='BaoCao')
# Đọc sheet thứ hai (chỉ số index bắt đầu từ 0)
df_sheet2 = pd.read_excel('du_lieu.xlsx', sheet_name=1)
Đọc nhiều sheet hoặc toàn bộ sheet
Nếu muốn nạp nhiều sheet hoặc tất cả sheet, bạn truyền một danh sách tên sheet hoặc gán sheet_name=None. Kết quả trả về sẽ là một Dictionary với key là tên sheet và value là DataFrame tương ứng.
# Đọc tất cả các sheet trong file
all_sheets = pd.read_excel('du_lieu.xlsx', sheet_name=None)
# Truy cập dữ liệu của sheet 'DoanhThu'
print(all_sheets['DoanhThu'].head())
4. Kiểm soát kiểu dữ liệu (dtypes)
Đôi khi Pandas nhận diện sai kiểu dữ liệu tự động (ví dụ: mã nhân viên dạng số bị mất số 0 ở đầu). Bạn có thể tự định nghĩa kiểu dữ liệu cho từng cột bằng tham số dtype.
# Ép kiểu cột 'MaNV' thành dạng chuỗi (string)
df = pd.read_excel(
'du_lieu.xlsx',
dtype={'MaNV': str, 'GiaTri': float}
)
print(df.dtypes)
5. Xuất kết quả sau khi xử lý
Sau khi đã thực hiện các thao tác làm sạch hoặc tính toán dữ liệu, bạn có thể dễ dàng xuất DataFrame ngược trở lại định dạng Excel bằng hàm to_excel().
# Xuất dữ liệu ra file Excel mới và loại bỏ cột chỉ số (index)
df.to_excel('ket_qua_xuly.xlsx', index=False)
Tóm tắt
Việc làm chủ hàm pandas.read_excel() giúp bạn chủ động hơn trong việc trích xuất và xử lý dữ liệu từ nguồn file Excel. Hãy kết hợp linh hoạt các tham số như sheet_name và dtype để tối ưu hóa quy trình phân tích dữ liệu của bạn.
Ngày phát hành: 18/05/2026
Nguồn: www.digitalocean.com