01 / JAKOŚĆ DANYCH I AUTOMATYZACJA
Zanim dodasz liczby,
sprawdź wiersze.
Niekompletny rekord i duplikat mogą zmienić wynik zestawienia. W tym przykładzie zachowujemy źródło, zapisujemy wyjątki i dopiero potem liczymy.
- 8wierszy wejścia
- 6przyjętych do raportu
- 2wyjątki do wyjaśnienia
8 = 6 + 2. Wiersz odłożony do wyjaśnienia pozostaje w śladzie źródłowym.
01Problem
Trzeba przygotować zestawienie bez podwójnego policzenia tego samego rekordu i bez uznania brakującego kosztu za zero.
02Wejścia
Plik input.csv: ID, miesiąc, przychód i koszt w tys. zł. Osiem fikcyjnych wierszy, w tym powtórzenie F03 i niepełny F07.
03Założenia
ID oznacza jeden rekord. Miesiąc ma format 01–12, kwoty są nieujemne i kompletne. Brak pola ma pierwszeństwo przy przypisaniu wyjątku. Oryginału nie zmieniamy.
04Alternatywy i decyzja
Można usuwać wiersze ręcznie albo domyślnie wstawiać zera. Wybrano jawne reguły i osobną listę wyjątków: identyczne powtórzenie odkładamy, braku nie uzupełniamy. Sprzeczne dane z tym samym ID zatrzymują obliczenia.
05Wykonanie
Skrypt czyta kopię CSV. Pierwszy kompletny rekord pozostaje, powtórzenie F03 trafia na listę z powodem exact_duplicate, F07 z powodem missing_field. Każdy wyjątek ma numer wiersza źródła.
06Weryfikacja
Odbiór porównuje przyjęte ID F01–F06, wyjątki z wierszy 8 i 9 oraz bilans 8 = 6 + 2. Skrypt sprawdza zgodność plików z wynikiem referencyjnym i stałymi oczekiwaniami.
07Rezultat
Sześć przyjętych wierszy i dwa udokumentowane wyjątki. To wynik porządkowania fikcji, bez pomiaru czasu lub kosztu pracy u klienta.
08Ograniczenia
Nie ustalamy, jaka kwota powinna zastąpić brak. Lipcowy F07 nie wchodzi do raportu sześciu miesięcy. Regułę ID, okres i sposób obsługi innych błędów trzeba uzgodnić dla rzeczywistego źródła; ten skrypt nie jest gotowym importerem.
| Wiersz źródła | ID | Powód | Decyzja w demo |
|---|---|---|---|
| 8 | F03 | Identyczne powtórzenie | Zachowaj pierwszy, odłóż drugi |
| 9 | F07 | Brak kosztu | Odłóż bez dopisywania kwoty |