Python w firmie: automatyzacja raportów, które wcześniej zajmowały pół dnia

Python to jeden z najpopularniejszych języków programowania na świecie, ale piszą w nim głównie programiści i data scientists. Tymczasem małe firmy mogą z niego skorzystać w zupełnie inny sposób: do automatyzacji powtarzalnych zadań, które teraz wykonuje człowiek.

W tym artykule pokażę konkretne przykłady z mojej pracy: co wdrożyłem, ile czasu to oszczędza i jak to technicznie działa. Bez teorii, tylko praktyka.

Przykład 1: Tygodniowy raport sprzedażowy

Problem: Firma wypożyczająca samochody miała pracownika, który co poniedziałek rano przez 4 godziny kopiował dane z systemu do Excela, formatował tabele, rysował wykresy i wysyłał raport e-mailem do zarządu. 4 godziny tygodniowo = 200 godzin rocznie.

Rozwiązanie: Skrypt Pythona, który:

  • Loguje się do bazy PostgreSQL i pobiera dane z ostatnich 7 dni
  • Przelicza KPI: przychód, liczba rezerwacji, średni czas wynajmu, obłożenie floty
  • Generuje plik Excel z tabelami i wykresami (biblioteka openpyxl)
  • Wysyła e-mail z załącznikiem do listy odbiorców (smtplib)
  • Uruchamia się automatycznie w poniedziałek o 7:00 (cron na serwerze)

Efekt: 0 minut ręcznej pracy zamiast 4 godzin. Raport jest w skrzynce zarządu zanim zacznę dzień pracy. Błędy przepisywania zredukowane do zera.

Przykład 2: Skaner polis ubezpieczeniowych

Problem: Firma obsługująca fleet zarządzający wynajmem samochodów otrzymywała dziesiątki polis ubezpieczeniowych w PDF. Każda z 6 różnych towarzystw ubezpieczeniowych. Dane musiały trafić ręcznie do systemu. Żmudne, podatne na błędy.

Rozwiązanie: Aplikacja Pythona, która:

  • Odczytuje tekst z PDF (pdfplumber) lub stosuje OCR dla skanów (Tesseract)
  • Rozpoznaje towarzystwo ubezpieczeniowe i wybiera odpowiedni parser
  • Wyciąga dane: numer polisy, VIN, rejestracja, daty, składki OC/AC/NNW
  • Przesyła dane do systemu Fleet przez REST API
  • Przenosi przetworzone pliki do odpowiednich folderów

Efekt: Przetwarzanie 50 polis, wcześniej pół dnia ręcznej pracy, teraz zajmuje 30 sekund. System obsługuje 6 towarzystw: PZU, Ergo Hestia, Generali, Allianz, Warta, Compensa.

Przykład 3: Monitoring i alerty dla stron klientów

Problem: Zarządzam stronami kilku klientów. Jeśli strona przestaje działać lub certyfikat SSL wygaśnie, chcę wiedzieć o tym pierwszy, nie klient.

Rozwiązanie: Prosty skrypt uruchamiany co 5 minut, który:

  • Sprawdza dostępność HTTP każdej strony (requests)
  • Sprawdza datę wygaśnięcia certyfikatu SSL (ssl)
  • Przy problemie wysyła powiadomienie SMS i e-mail

Efekt: Wykrywam problem w ciągu 5 minut. Klient nigdy nie zadzwonił pierwszy z pytaniem "czemu strona nie działa".

Kiedy Python ma sens, a kiedy nie?

Python ma sens gdy:

  • Przetwarzasz pliki (PDF, Excel, CSV, Word), tutaj Python nie ma sobie równych
  • Łączysz się z bazą danych i generujesz raporty
  • Potrzebujesz przetwarzać duże ilości danych (tysiące rekordów)
  • Musisz zastosować OCR lub analizę tekstu
  • Chcesz coś uruchamiać automatycznie o określonej porze

Python nie jest potrzebny gdy:

  • Integrujesz proste serwisy (wtedy n8n lub Zapier są szybsze)
  • Chcesz automatyzować Google Sheets (Google Apps Script jest prostszy)
  • Zadanie jest jednorazowe i nie będzie się powtarzać

Czy musisz umieć programować?

Nie. Jeśli zamawiasz automatyzację, dostajesz gotowy skrypt z dokumentacją i komentarzami w kodzie. Możesz go uruchamiać, modyfikować podstawowe parametry (nazwy plików, adresy e-mail, harmonogram) bez znajomości programowania. Bardziej zaawansowane zmiany, zgłaszasz mi i poprawiam.

Dobra automatyzacja powinna być transparentna: widzisz co robi, możesz ją zatrzymać i uruchomić ręcznie, masz logi błędów. Czarna skrzynka, która "jakoś działa", to zła automatyzacja.

Jak zacząć?

Opisz mi jeden konkretny raport lub zadanie, które chcesz zautomatyzować. Powiedz: jakie dane wchodzą, co ma być na wyjściu i jak często to robisz. Ocenię czy Python to dobry wybór i wycenię projekt. Pierwsza rozmowa jest bezpłatna.

Najczęstsze pytania

Makro działa wewnątrz arkusza i kończy się tam, gdzie kończy się Excel. Python wychodzi poza plik: pobierze dane z bazy, zaloguje się do systemu przez jego API, pobierze załączniki ze skrzynki, wyśle gotowy raport mailem i zapisze go tam, gdzie trzeba. Jeśli cała praca dzieje się w jednym arkuszu, makro wystarczy i jest tańsze. Kiedy w grę wchodzą co najmniej dwa źródła, makro szybko robi się kruche.
Do wyboru są trzy miejsca. Na komputerze pracownika, co jest najprostsze, ale wymaga, żeby komputer był włączony. Na serwerze firmy albo prostym serwerze wirtualnym, gdzie skrypt chodzi o ustalonej godzinie niezależnie od ludzi. Albo w usłudze uruchamiającej zadania cyklicznie w chmurze. Przy raportach, które mają przychodzić rano, drugie albo trzecie rozwiązanie jest jedynym sensownym.
Skrypt przestanie znajdować to, czego szuka. Dlatego dobrze napisany automat sprawdza dane na wejściu i przy niezgodności zatrzymuje się z czytelnym komunikatem, zamiast policzyć raport na połowie danych i wysłać go jak gdyby nigdy nic. Cicha awaria jest groźniejsza od głośnej, bo decyzje zapadają wtedy na podstawie liczb, którym nikt nie ma powodu nie ufać.
Nic. Python i biblioteki do pracy z danymi, arkuszami i plikami PDF są darmowe, także w zastosowaniach komercyjnych. Kosztem jest wyłącznie czas napisania automatu i miejsce, w którym ma się uruchamiać, czyli w praktyce kilkanaście złotych miesięcznie za mały serwer albo zero, jeśli firma ma już własny.
Nie muszą i zwykle nie ma powodu, żeby wychodziły. Skrypt uruchamiany na Twoim sprzęcie czyta dane u Ciebie i zapisuje wynik u Ciebie. Dane opuszczają firmę tylko wtedy, gdy automat świadomie łączy się z zewnętrzną usługą, na przykład wysyła plik do rozpoznania tekstu w chmurze. To decyzja do podjęcia przy projektowaniu, a nie rzecz, która dzieje się sama.

Opisz mi co teraz robisz ręcznie, powiem jak to można zautomatyzować i za ile. Bezpłatna analiza.

Opisz mi swój proces
Napisz do mnie