Menu

Tự động hóa việc trích xuất dữ liệu Excel với Python - Một góc nhìn khác

Tống Uyên Uy 04/06/2026 04:35 365 lượt xem 2 trả lời

Chào mọi người,

Dạo gần đây mình thấy diễn đàn mình có nhiều bài viết rất hay về việc dùng Python để tự động hóa các tác vụ với Excel. Bản thân mình cũng đang ứng dụng Python khá nhiều trong công việc và thấy nó thực sự giải phóng sức lao động. Hôm nay, mình muốn chia sẻ một chút về cách mình dùng Python để trích xuất dữ liệu từ nhiều file Excel có cấu trúc tương tự nhau, nhưng với một cách tiếp cận hơi khác một chút so với các bài đã có.

Thay vì đọc từng file rồi gom lại, mình thử tạo một hàm để xác định và đọc các sheet cần thiết dựa trên một quy tắc nhất định (ví dụ: tên sheet có chứa một chuỗi ký tự hoặc theo thứ tự nhất định). Điều này giúp code linh hoạt hơn, đặc biệt khi số lượng sheet trong file thay đổi.

Ví dụ, nếu mình cần đọc dữ liệu từ tất cả các sheet có tên bắt đầu bằng "BaoCao_" trong một file:

import pandas as pd

def read_specific_sheets(file_path, prefix):
    all_data = pd.DataFrame()
    try:
        excel_file = pd.ExcelFile(file_path)
        sheet_names = [sheet for sheet in excel_file.sheet_names if sheet.startswith(prefix)]
        for sheet_name in sheet_names:
            df = excel_file.parse(sheet_name)
            all_data = pd.concat([all_data, df], ignore_index=True)
    except FileNotFoundError:
        print(f"File not found: {file_path}")
    return all_data

file = 'du_lieu_cua_toi.xlsx'
prefix_to_match = 'BaoCao_'
data = read_specific_sheets(file, prefix_to_match)
print(data.head())

Cách này giúp mình xử lý các trường hợp mà tên sheet không cố định hoặc có những sheet không liên quan cần bỏ qua. Ai đã từng làm tương tự hoặc có cách nào hay hơn thì chia sẻ với mình nhé!

0

Cái hàm bạn tạo nghe có vẻ rất tiềm năng! Mình cũng đang có một đống file cần gom dữ liệu mà lười làm thủ công quá.

Cho mình hỏi thêm là hàm đó có xử lý được trường hợp các sheet trong file Excel có tên khác nhau không bạn? Hay nó chỉ đọc những sheet có tên cố định thôi? Nếu được thì quá tuyệt vời!

4

Hay quá bạn ơi! Mình cũng đang vật lộn với việc gom dữ liệu từ hàng trăm file Excel đây. Cách bạn tiếp cận nghe thú vị thật. Bạn có thể chia sẻ rõ hơn về cái hàm mà bạn tạo để đọc dữ liệu không? Liệu nó có xử lý được trường hợp tên cột có thể hơi khác một chút giữa các file không?

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký