Menu

Tự động hóa việc lọc và trích xuất dữ liệu từ nhiều file văn bản (.txt) vào Excel bằng Python

Quách Diễm Qúy 12/06/2026 07:53 468 lượt xem 1 trả lời

Chào mọi người,

Dạo này mình hay phải làm việc với các file log hoặc báo cáo dạng văn bản thuần túy (.txt). Việc lọc và trích xuất thông tin từ chúng để đưa vào Excel xử lý khá tốn thời gian, nhất là khi có hàng chục, thậm chí hàng trăm file.

Sau một thời gian mày mò, mình đã viết được một đoạn script Python nho nhỏ để tự động hóa việc này. Nay chia sẻ lại với mọi người, hy vọng có thể giúp ích cho ai đó đang gặp tình huống tương tự.

Ý tưởng chính:

  • Duyệt qua tất cả các file .txt trong một thư mục chỉ định.
  • Mở từng file, đọc nội dung.
  • Áp dụng các quy tắc lọc (ví dụ: tìm các dòng chứa keyword, hoặc các dòng có định dạng nhất định).
  • Trích xuất các phần dữ liệu quan tâm.
  • Ghi dữ liệu đã lọc ra một file Excel duy nhất.

Ví dụ đoạn code cơ bản:

import pandas as pd
import os

def process_txt_files(folder_path, output_excel):
    all_data = []
    for filename in os.listdir(folder_path):
        if filename.endswith(".txt"):
            filepath = os.path.join(folder_path, filename)
            with open(filepath, 'r', encoding='utf-8') as f:
                for line in f:
                    # --- Logic lọc và trích xuất dữ liệu ở đây ---
                    # Ví dụ: Lọc các dòng chứa 'ERROR'
                    if 'ERROR' in line:
                        all_data.append({'Source File': filename, 'Content': line.strip()})
                    # Thêm các điều kiện lọc khác nếu cần
    
    df = pd.DataFrame(all_data)
    df.to_excel(output_excel, index=False)
    print(f"Dữ liệu đã được ghi vào {output_excel}")

# --- Sử dụng ---
input_folder = 'duong_dan_toi_thu_muc_chua_file_txt'
output_file = 'ket_qua_loc_du_lieu.xlsx'
process_txt_files(input_folder, output_file)

Lưu ý:

  • Bạn cần cài đặt thư viện pandas: pip install pandas openpyxl
  • Phần # --- Logic lọc và trích xuất dữ liệu ở đây --- là quan trọng nhất, bạn cần tùy chỉnh nó cho phù hợp với định dạng file .txt và yêu cầu lọc của mình. Có thể dùng regular expressions (regex) để xử lý các định dạng phức tạp hơn.

Hy vọng chia sẻ này hữu ích. Nếu ai có cách làm khác hoặc muốn thảo luận sâu hơn về xử lý file văn bản bằng Python thì cùng trao đổi nhé!

5

Cái này hay quá bạn ơi! Mình cũng đang vật lộn với đống file .txt tương tự đây. Bạn có thể chia sẻ cụ thể hơn về cách bạn xử lý các định dạng dữ liệu khác nhau trong file txt không? Ví dụ như có lúc nó là chuỗi, có lúc lại là số, hay thậm chí là ngày tháng chẳng hạn.

1

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

Đăng nhập Đăng ký