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
- Kod w repozytorium z krótkim opisem, jak go uruchomić i co robi każdy krok.
- Środowisko opisane tak, żeby dało się je odtworzyć na innym komputerze lub serwerze.
- Uruchamianie według harmonogramu na maszynie, która jest włączona wtedy, kiedy trzeba, na przykład na małym serwerze.
- Logi i wiadomość mailowa, gdy skrypt zakończy się błędem.
- 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.