Przejdź do treści

Automatyzacja w Pythonie dla firm: skrypty, które robią nudną część pracy

Co miesiąc ktoś skleja dziesięć plików Excela, poprawia kolumny i wysyła wynik mailem. Taki zestaw kroków świetnie pasuje do krótkiego skryptu, o ile ktoś zadba o jego utrzymanie.

Autor: Szymon Łakomy. Aktualizacja:

Zadania, do których skrypt pasuje

  • Excel: scalanie plików od oddziałów, czyszczenie danych, zestawienia i przeliczenia, które w arkuszu łatwo się psują. Zwykle używam bibliotek w rodzaju pandas i openpyxl.
  • PDF: wyciąganie tekstu i tabel z dokumentów o stałym układzie, łączenie i dzielenie plików.
  • Poczta: wysyłka wiadomości z załącznikami według listy i zbieranie załączników z wybranej skrzynki.
  • Pliki od dostawców: pobieranie cenników, o ile pozwala na to ich regulamin.
  • Porządkowanie: nazwy według wzoru, foldery, kopie plików.

Skrypt czy n8n albo Make

Skrypt w Pythonie

Lepszy, gdy reguły są nietypowe, plików jest dużo albo dane wymagają obróbki, której narzędzie wizualne nie obejmuje.

n8n lub Make

Lepsze, gdy chodzi o spięcie usług z gotowymi połączeniami, a przepływ ma być czytelny dla osoby nietechnicznej. Opisuje to strona automatyzacja w n8n i Make.

Oba razem

Przepływ w narzędziu wizualnym wywołuje skrypt tylko do jednego trudnego kroku. Często to rozsądny kompromis.

Przy ogólnym wyborze narzędzia pomoże porównanie Make, n8n i Zapier, a przy pytaniu, czy w ogóle sięgać po kod, strona no-code czy programista.

Jak wygląda typowe zlecenie

Załóżmy, że biuro co tydzień dostaje od pięciu oddziałów pliki Excela, każdy z nieco innym układem kolumn. Skrypt wczytuje wszystkie, ujednolica nazwy kolumn, pomija wiersze bez numeru dokumentu, scala dane i zapisuje jeden plik, który wysyła mailem do wskazanej osoby. Plik, którego nie da się odczytać, trafia na osobną listę z opisem, co jest nie tak.

Co zostaje po oddaniu skryptu

  1. Kod w repozytorium z krótkim opisem, jak go uruchomić i co robi każdy krok.
  2. Środowisko opisane tak, żeby dało się je odtworzyć na innym komputerze lub serwerze.
  3. Uruchamianie według harmonogramu na maszynie, która jest włączona wtedy, kiedy trzeba, na przykład na małym serwerze.
  4. Logi i wiadomość mailowa, gdy skrypt zakończy się błędem.
  5. Hasła i klucze poza kodem, w zmiennych środowiskowych albo menedżerze sekretów.

Pułapki, które widuję najczęściej

Skrypt działa, dopóki ktoś nie zmieni układu pliku, który odczytuje. Dostawca doda kolumnę, biuro przemianuje arkusz, a system wyeksportuje datę w innym formacie. Dlatego dodaję sprawdzenie wejścia: jeśli plik wygląda inaczej, niż oczekiwano, skrypt zatrzymuje się i zgłasza błąd, zamiast wygenerować zestawienie z cichymi pomyłkami.

Drugą pułapką jest „skrypt na laptopie jednej osoby”. Gdy ta osoba odejdzie, wiedza o nim znika, więc zapis w repozytorium i krótka dokumentacja są częścią zlecenia.

Najczęstsze pytania

Czy skrypt może działać na moim komputerze?

Może, ale wtedy komputer musi być włączony o ustalonej porze. Częściej proponuję mały serwer albo usługę w chmurze, która wykonuje tylko to jedno zadanie i nie zależy od niczyjego laptopa.

Czy skrypt zmieni moje pliki Excela?

Nie, o ile nie ustalimy tego wprost. Domyślnie skrypt czyta pliki źródłowe i zapisuje wynik w nowym pliku, więc oryginały zostają nietknięte.

Co, gdy autor skryptu przestanie być dostępny?

Dlatego oddaję kod z dokumentacją i dostępem do repozytorium, a zasady dotyczące praw do kodu ustalamy w umowie. Utrzymać taki skrypt może każdy programista znający Pythona.

Czy skrypt obsłuży dane wrażliwe?

Tak, ale to Ty decydujesz, gdzie ma działać i gdzie zapisywać wyniki. Dane osobowe najlepiej trzymać w środowisku, które kontrolujesz, a dostęp ograniczyć do osób, które go potrzebują.

Powiązane strony

Masz zadanie, które robisz ręcznie co miesiąc?

Opisz je w kilku zdaniach i dołącz przykładowy plik bez danych wrażliwych. Powiem, czy skrypt ma sens.