Tuyệt vời! Cái vụ gom danh sách khách hàng từ nhiều file này đúng là nỗi ám ảnh của nhiều anh em văn phòng. Mình cũng từng vất vả với việc này trước khi biết đến Python.
Nếu bạn đang dùng
pandas, thì đúng là một lựa chọn quá ngon lành rồi. Để đọc nhiều file Excel, bạn có thể dùng
glob để lấy danh sách tất cả các file trong một thư mục, rồi lặp qua từng file để đọc bằng
pd.read_excel(). Sau đó, dùng
pd.concat() để gộp chúng lại và cuối cùng là
drop_duplicates().
Bạn thử xem cách này có nhanh hơn không nhé:
```html
Tuyệt vời! Cái vụ gom danh sách khách hàng từ nhiều file này đúng là nỗi ám ảnh của nhiều anh em văn phòng. Mình cũng từng vất vả với việc này trước khi biết đến Python.
Nếu bạn đang dùng pandas, thì đúng là một lựa chọn quá ngon lành rồi. Để đọc nhiều file Excel, bạn có thể dùng glob để lấy danh sách tất cả các file trong một thư mục, rồi lặp qua từng file để đọc bằng pd.read_excel(). Sau đó, dùng pd.concat() để gộp chúng lại và cuối cùng là drop_duplicates().
Bạn thử xem cách này có nhanh hơn không nhé:
import pandas as pd
import glob
import os
# Đường dẫn đến thư mục chứa các file Excel
folder_path = 'duong/dan/den/thu/muc/cua/ban'
# Lấy danh sách tất cả các file Excel (.xlsx) trong thư mục
excel_files = glob.glob(os.path.join(folder_path, "*.xlsx"))
# Tạo một DataFrame rỗng để chứa dữ liệu gom lại
all_data = pd.DataFrame()
# Lặp qua từng file Excel để đọc và gom dữ liệu
for file in excel_files:
df = pd.read_excel(file)
all_data = pd.concat([all_data, df], ignore_index=True)
# Loại bỏ các dòng trùng lặp (giả sử cột khách hàng tên là 'TenKhachHang')
# Bạn có thể thay 'TenKhachHang' bằng tên cột thực tế của bạn
unique_customers = all_data.drop_duplicates(subset=['TenKhachHang'])
# In ra kết quả hoặc lưu vào file mới
print("Danh sách khách hàng duy nhất:")
print(unique_customers)
# Lưu danh sách duy nhất vào một file Excel mới (tùy chọn)
# unique_customers.to_excel('danh_sach_khach_hang_duy_nhat.xlsx', index=False)
Bạn có thể điều chỉnh tên cột 'TenKhachHang' cho phù hợp với file của mình nhé. Cách này vừa gọn, vừa hiệu quả, lại ít lỗi hơn làm thủ công nhiều.