Chào mọi người, dạo này mình có dự án cần trích xuất dữ liệu từ nhiều file Excel khác nhau và lưu lại dưới dạng file CSV để tiện cho việc xử lý tiếp bằng các công cụ khác. Ban đầu mình định làm thủ công nhưng với số lượng file lên đến hàng trăm thì không khả thi.
Sau khi tìm hiểu, mình quyết định dùng Python để tự động hóa việc này. Thư viện pandas là một công cụ cực kỳ mạnh mẽ cho việc này.
Các bước cơ bản như sau:
- Cài đặt thư viện pandas:
pip install pandas openpyxl(cầnopenpyxlđể đọc file .xlsx). - Viết script Python để duyệt qua các file Excel trong một thư mục.
- Với mỗi file Excel, đọc dữ liệu bằng
pandas.read_excel(). - Lưu dữ liệu đó sang file CSV bằng phương thức
.to_csv().
Ví dụ đoạn code đơn giản:
import pandas as pd
import os
folder_path = 'duong_dan_den_thu_muc_excel'
output_folder = 'duong_dan_den_thu_muc_csv'
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
file_path = os.path.join(folder_path, filename)
try:
df = pd.read_excel(file_path)
# Đổi tên file CSV tương ứng
csv_filename = os.path.splitext(filename)[0] + '.csv'
csv_path = os.path.join(output_folder, csv_filename)
df.to_csv(csv_path, index=False, encoding='utf-8')
print(f'Đã chuyển đổi: {filename} -> {csv_filename}')
except Exception as e:
print(f'Lỗi khi xử lý {filename}: {e}')
Cách này giúp mình tiết kiệm rất nhiều thời gian và giảm thiểu sai sót. Mọi người có cách nào hay hơn hoặc gặp khó khăn gì khi dùng Python với Excel thì cùng thảo luận nhé!