Chào các bác, hôm nay em muốn chia sẻ chút kinh nghiệm về việc tự động hóa cập nhật dữ liệu từ PostgreSQL vào Excel. Công việc của em liên quan đến việc tổng hợp báo cáo hàng ngày từ một database PostgreSQL, trước đây toàn làm thủ công bằng cách export ra CSV rồi copy paste vào Excel, mất rất nhiều thời gian và dễ sai sót.
Sau khi tìm hiểu, em quyết định dùng Python để xử lý. Em đã thử một vài cách và thấy cách dùng thư viện psycopg2 để kết nối và lấy dữ liệu, sau đó dùng pandas để xử lý và ghi ra file Excel là hiệu quả nhất. Em viết một script nhỏ để chạy tự động vào cuối ngày.
Cụ thể các bước em làm như sau:
- Cài đặt các thư viện cần thiết:
pip install psycopg2-binary pandas openpyxl - Viết code Python để kết nối tới database PostgreSQL, thực thi câu truy vấn SQL để lấy dữ liệu cần thiết.
- Sử dụng
pandas.read_sql()để đọc dữ liệu vào DataFrame. - Dùng
DataFrame.to_excel()để ghi dữ liệu ra file Excel. Em có thêm tùy chọnindex=Falseđể không ghi chỉ số dòng của DataFrame vào Excel. - Thiết lập task scheduler (trên Windows) hoặc cron job (trên Linux) để chạy script này vào một thời điểm cố định hàng ngày.
Cách này giúp em tiết kiệm đáng kể thời gian, đảm bảo dữ liệu luôn được cập nhật và chính xác. Bác nào đang gặp vấn đề tương tự, em khuyến khích thử cách này xem sao ạ. Có gì thắc mắc cứ hỏi em nhé!