Python tự động hóa 5 việc văn phòng bạn làm mỗi ngày
Python tự động hóa giúp bạn bớt việc lặp lại: đổi tên file, gộp Excel, gửi email, tải báo cáo, xử lý PDF. Ví dụ code ngắn cho từng việc, người mới đọc hiểu.

Python tự động hóa được hầu hết công việc văn phòng lặp đi lặp lại: đổi tên hàng loạt file, gộp nhiều file Excel, gửi email theo danh sách, lấy dữ liệu từ web và xử lý PDF. Bạn không cần là lập trình viên, chỉ cần biết đủ Python cơ bản để đọc và chỉnh vài chục dòng mã.
Vì sao văn phòng là nơi tự động hóa hiệu quả nhất?
Việc nào mang tính quy tắc và lặp lại, máy làm tốt hơn người. Ví dụ minh họa: bạn mất 30 phút mỗi sáng thứ Hai để gộp báo cáo của 8 chi nhánh. Nếu một đoạn mã làm việc đó trong vài giây, mỗi năm bạn lấy lại hơn 20 giờ làm việc. Quan trọng hơn là máy không nhầm dòng, không quên cột khi mệt.
Trước khi bắt đầu, cài Python từ trang chính thức và tạo một thư mục riêng cho các script của bạn. Mọi ví dụ bên dưới chỉ dùng thư viện phổ biến.
1. Đổi tên và sắp xếp file hàng loạt
Thư mục tải về của bạn có hàng trăm file tên lộn xộn? Thư viện pathlib có sẵn trong Python giúp duyệt thư mục, đọc phần đuôi file, rồi chuyển file vào thư mục con theo loại (ảnh, PDF, bảng tính) hoặc đổi tên theo mẫu “ngày_khách-hàng_loại-tài-liệu”. Chỉ khoảng 15 dòng mã, nhưng tiết kiệm đáng kể với bộ phận hành chính hay kế toán.
2. Gộp và làm sạch nhiều file Excel
Đây là việc đáng tự động hóa nhất. Với thư viện pandas, quy trình thường là:
- Đọc tất cả file .xlsx trong một thư mục bằng vòng lặp.
- Chuẩn hóa tên cột (cùng một cột nhưng mỗi chi nhánh đặt một kiểu).
- Loại dòng trống, xóa trùng lặp, chuyển cột ngày về cùng định dạng.
- Gộp thành một bảng, tạo bảng tổng hợp theo tháng hoặc theo khu vực.
- Xuất ra một file mới, sẵn sàng gửi sếp.
Lưu ý: luôn giữ nguyên file gốc và ghi kết quả ra file mới. Tự động hóa sai trên dữ liệu gốc là cách nhanh nhất để tạo ra một ngày tồi tệ.
3. Gửi email hàng loạt có cá nhân hóa
Gửi cùng một thông báo cho 80 khách hàng nhưng mỗi người một tên, một số tiền? Hãy đọc danh sách từ file bảng tính, ghép nội dung theo mẫu, rồi gửi qua thư viện smtplib hoặc API của dịch vụ email công ty. Hai nguyên tắc an toàn: chạy thử bằng cách gửi cho chính bạn trước, và đặt khoảng nghỉ giữa các lần gửi để không bị đánh dấu spam. Không bao giờ ghi mật khẩu trực tiếp trong mã; dùng biến môi trường hoặc mật khẩu ứng dụng.
4. Lấy dữ liệu từ web và tải báo cáo
Nhiều đội marketing hay kinh doanh phải vào cùng vài trang mỗi ngày để chép giá, tồn kho hay bảng xếp hạng. Với requests và BeautifulSoup, bạn lấy được dữ liệu từ trang HTML công khai; với trang cần thao tác như bấm nút hoặc đăng nhập, công cụ như Selenium hay Playwright sẽ làm thay. Trước khi làm, hãy kiểm tra điều khoản sử dụng của website và nếu có API chính thức, ưu tiên dùng API.
Giữ lịch chạy tự động
Script chỉ thật sự tiết kiệm thời gian khi bạn không phải nhớ chạy nó. Trên Windows có Task Scheduler, trên macOS và Linux có cron. Bạn đặt giờ, máy tự chạy và ghi kết quả vào file nhật ký để kiểm tra khi cần.
5. Xử lý PDF và tạo báo cáo tự động
Hóa đơn, hợp đồng, phiếu lương thường nằm trong PDF. Thư viện như pypdf giúp gộp, tách trang, trích văn bản; với bảng trong PDF dạng số, bạn có thể trích ra rồi đưa vào pandas. Chiều ngược lại cũng làm được: từ một bảng số liệu, script tạo biểu đồ bằng matplotlib và xuất báo cáo PDF hoặc Word theo mẫu cố định mỗi tuần.
Làm sao để tự động hóa mà không gây rắc rối?
- Bắt đầu nhỏ: chọn một việc mất 10–15 phút mỗi lần và làm đều đặn.
- Có bước kiểm tra: in số dòng đã xử lý, so sánh tổng trước và sau.
- Ghi chú mã: viết vài dòng chú thích để 3 tháng sau bạn vẫn hiểu nó.
- Cẩn thận dữ liệu nhạy cảm: thông tin khách hàng, lương, hợp đồng nên được xử lý theo quy định của công ty.
Tự động hóa cũng là cách tuyệt vời để học lập trình có mục đích, vì bạn thấy ngay kết quả trong công việc. Nếu bạn đang phân vân hướng đi lập trình tổng quát hơn, hãy đọc bài lộ trình học lập trình web; còn nếu bạn làm marketing và muốn tự động hóa việc báo cáo, bài về các chỉ số marketing giúp bạn biết nên tổng hợp những chỉ số nào.
Bắt đầu từ đâu
Tuần đầu: học cú pháp Python cơ bản (biến, danh sách, hàm, đọc ghi file). Tuần hai và ba: làm việc số 1 và số 2 với dữ liệu thật trong công việc của bạn. Sau đó thêm email và lịch chạy tự động. Nếu muốn đi theo giáo trình có bài tập sát công việc, hãy xem khóa Python tự động hóa công việc. Ngoài ra, khóa WordPress và WooCommerce sẽ bổ trợ nếu công việc của bạn có liên quan tới vận hành website bán hàng, và trang Lập trình tổng hợp các hướng học khác.
Câu hỏi thường gặp
Người chưa biết lập trình có học Python tự động hóa được không?
Được. Python có cú pháp gần với tiếng Anh nên khá dễ đọc. Bạn có thể bắt đầu với những script ngắn rồi mở rộng dần, không cần học hết lý thuyết trước.
Python tự động hóa có thay thế được Excel Macro không?
Không hoàn toàn thay thế. Macro hợp với thao tác ngay trong Excel, còn Python mạnh hơn khi bạn cần xử lý nhiều file, kết nối web, email hoặc dữ liệu lớn. Nhiều người dùng song song cả hai.
Tự động hóa bằng Python có an toàn với dữ liệu công ty không?
An toàn nếu bạn tuân thủ quy định nội bộ: không đưa dữ liệu nhạy cảm lên dịch vụ bên ngoài, không ghi mật khẩu trong mã và luôn giữ bản sao dữ liệu gốc.
Đọc tiếp
Học lập trình web từ đầu: lộ trình thực tế cho người mới
Học lập trình web từ đầu cần học gì trước? Lộ trình thực tế từ HTML, CSS, JavaScript đến React, kèm dự án mẫu cho từng…
WordPress hay code tay: nên chọn gì cho website của bạn
WordPress hay code tay? So sánh chi phí, tốc độ làm, khả năng mở rộng và SEO để chọn đúng cách làm website, kèm bảng…
Cách làm freelance và có khách đầu tiên trong 60 ngày
Cách làm freelance và có khách đầu tiên: chọn dịch vụ, dựng portfolio mẫu, tìm khách quen biết, báo giá và chốt hợp…


