Chào mọi người,
Dạo gần đây mình có làm quen với Python trong Excel và thấy nó thực sự mạnh mẽ, đặc biệt là với thư viện Pandas. Hôm nay mình muốn chia sẻ một kinh nghiệm nhỏ mà mình thấy rất hữu ích, đó là cách tự động hóa việc kiểm tra các dòng dữ liệu bị trùng lặp trong file Excel bằng Python.
Thông thường, khi làm việc với các bảng dữ liệu lớn, việc tìm ra các dòng trùng lặp thủ công tốn rất nhiều thời gian và dễ sai sót. Với Python và Pandas, việc này trở nên đơn giản hơn bao giờ hết.
Giả sử bạn có một file Excel với nhiều dòng dữ liệu và muốn tìm những dòng bị trùng dựa trên một hoặc nhiều cột nhất định. Bạn có thể làm như sau:
import pandas as pd
# Đọc file Excel
df = pd.read_excel('your_file.xlsx')
# Kiểm tra các dòng trùng lặp dựa trên cột 'ID' và 'Name'
duplicates = df[df.duplicated(subset=['ID', 'Name'], keep=False)]
# Hiển thị các dòng trùng lặp
print(duplicates)
# Hoặc lưu các dòng trùng lặp ra một file Excel mới
duplicates.to_excel('duplicates.xlsx', index=False)
Trong đoạn code trên:
pd.read_excel('your_file.xlsx'): Đọc dữ liệu từ file Excel của bạn.df.duplicated(subset=['ID', 'Name'], keep=False): Hàm này sẽ trả về một Series boolean, vớiTruecho những dòng bị trùng lặp. Tham sốsubsetchỉ định các cột cần kiểm tra trùng lặp, vàkeep=Falsenghĩa là đánh dấu tất cả các bản sao (bao gồm cả bản gốc) là trùng lặp.df[...]: Lọc ra các dòng có giá trịTruetừ kết quảduplicated.
Cách này giúp mình tiết kiệm được rất nhiều thời gian khi làm sạch dữ liệu. Không biết có anh em nào có kinh nghiệm hay cách làm khác hiệu quả hơn không, chia sẻ cho mọi người cùng học hỏi nhé!