Santrauka
Klientas rankiniu būdu renka ir paruošia iš skirtingų šaltinių gaunamus įrašus.
Sprendimas tapo pakartojamu interneto duomenų scrap’inimo ir duomenų valymo procesu, skirtu išgavimui, patvirtinimui ir eksportui.
Programinė įranga sukurta siekiant sutrumpinti rankinio paruošimo laiką ir sumažinti klaidų skaičių prieš duomenims pasiekiant paskirties vietą.
Kliento istorija
Klientas - duomenų apdorojimo įmonė iš Liuksemburgo. Ji konsoliduoja įrašus iš svetainių, duomenų bazių ir API tolesniam naudojimui.
Rankinis rinkimas ir paruošimas užima daug laiko, nes šaltiniai turi skirtingas struktūras ir formatus. Dėl nenuoseklių laukų prieš eksportą ar importą taip pat tenka atlikti papildomą darbą.
Užduotis buvo paprasta: sukurti pakartojamus Python, komandinės eilutės, užrašinės ar programomis pagrįstus procesus. Jie turėjo išgauti, išvalyti ir patvirtinti duomenis prieš siunčiant juos į reikiamą paskirties vietą.
Sprendimas buvo suformuotas aplink šaltinių nustatymą, valymo ir patvirtinimo darbo sritį bei struktūrizuotą eksportą. Laukų, schemų ir paskirties vietų taisyklės liko matomos, kad kliento komanda galėtų dirbti pagal savo standartus.
Klientas paprašė
- Vykdyti pakartojamus Python, komandinės eilutės, užrašinės ar programomis pagrįstus procesus.
- Eksportuoti švarius rezultatus CSV, Excel, Parquet, JSON, Sheets, tekstiniu arba SQL formatu.
- Valyti, normalizuoti, transformuoti, pašalinti dublikatus, filtruoti, rūšiuoti ir konsoliduoti duomenis.
- Pateikti žurnalus, klaidų ataskaitas, dokumentaciją, nustatymo instrukcijas, kodą ir priklausomybes.
Kodėl netiko paruošta programinė įranga
Paruošti produktai apima atskiras užduoties dalis: interneto duomenų rinkimą, valdomą išgavimą, duomenų integraciją ar konfigūruojamas scrap’inimo taisykles. Apraše nurodytos atskiros šaltinių išgavimo, valymo ir patvirtinimo galimybės. Taip pat aprašyti paskirties vietų susiejimas ir ataskaitos. Todėl visam kliento procesui reikėjo individualaus derinio.
Projekto apžvalga
Sprendimas buvo sukurtas remiantis trimis etapais: šaltinių ir išgavimo nustatymu, valymu ir patvirtinimu bei struktūrizuotu eksportu. Taip kelias nuo šaltinio įrašo iki paskirties vietos išlieka aiškus.
Pirmajame ekrane svetainės, duomenų bazės ir API sujungiami vienoje konfigūracijoje. Taip pat priimami failai ir kiekvienam paleidimui apibrėžiami laukai bei paskirties struktūra.
Siekiant apdoroti skirtingų formatų šaltinius, išgavimui ir paruošimui buvo sukurti Python procesai. HTML analizė, prieiga prie duomenų bazių, skaičiuoklių nuskaitymas ir dokumentų konvertavimas palaiko nurodytus šaltinius.
Valymo darbo srityje rodomos neapdorotos ir išvalytos reikšmės, dublikatų grupės bei patvirtinimo rezultatai. Valymo ir dublikatų šalinimo taisyklės paruošia nuoseklią struktūrą.
Eksporto lange stulpeliai ir schemos susiejami su CSV, Excel arba duomenų bazių paskirties vietomis. Apdorojimo suvestinės ir paleidimų žurnalai leidžia matyti kiekvieno paleidimo būseną.
Buvo įtraukta dokumentacija, nustatymo instrukcijos ir išeities kodas. Priklausomybių informacija ir veiklos žurnalai padeda kliento komandai valdyti procesus bei pritaikyti juos savo duomenų taisyklėms.
Įdiegtos pagrindinės funkcijos
- Interneto duomenų scrap’inimas iš pasirinktų puslapių ir laukų
- Duomenų išgavimas iš duomenų bazių, API, failų ir dokumentų
- Pakartojami Python ir programomis pagrįsti procesai
- Valymas, normalizavimas ir transformavimas
- Dublikatų aptikimas ir įrašų sujungimas
- Schemos ir laukų patvirtinimas
- Praleistų įrašų ir klaidų ataskaitos
- CSV, Excel, Parquet, JSON, tekstinis, Sheets ir SQL eksportas