Tehtävänä oli kerätä henkilöiden yhteystietoja nettisivulta automatisoidusti Excel-taulukkoon. Asiakkaan motiivi oli tietenkin siirtää yhteystiedot asiakastietojärjestelmään myyjien työn helpottamiseksi.

Datan parsiminen selaimesta Excel-tiedostoon

Datan keräämiseen liittyi kaksi isoa haastetta. Ensinnäkin tiedot oli jaettuna kymmeniin välilehtiin, mikä vaatisi käsin tehtynä jokaisen välilehden läpikäymistä erikseen. Toinen ongelma oli luonnollisesti saada tiedot purettua nettisivulta järkevään muotoon esimerkiksi Excel-, teksti- tai CSV-tiedostoon*.

Manipuloimalla selaimen osoiterivillä näkyvän osoitteen tietoja kaikkien välilehtien tiedot saatiin esitettyä yhdellä kertaa. Välilehtien selaamista ei tarvinnut siis automatisoida erikseen. Myöskään sivun ylläpitäjän palvelinta tarvinnut rasittaa yhtä sivulatausta enempää. Tempun jälkeen nettisivun tiedot oli helppo kopioida Excel-tiedostoon.

*CSV-tiedostossa voidaan esittää taulukkomuotoista tietoa pelkkänä tekstinä. Yksi rivi vastaa taulukon riviä ja sarakkeiden arvot on eroteltu toisistaan pilkulla. Siitä tulee tiedostomuodon nimi Comma Separated Values.

Datan rakenteen muokkaaminen asiakastietojärjestelmään sopivaksi

Suoraan netistä parsitun datan rakenne ei ollut oikea, sillä kaikkien henkilöiden kaikki tiedot tulivat yhteen sarakkeeseen peräkkäisille riveille. Ensimmäisillä neljällä rivillä oli ensimmäisen henkilön sähköposti, nimi, puhelin ja osoite. Riveillä 5-8 toisen henkilön tiedot ja niin edelleen. Eli yhdessä sarakkeessa olleet 4000 riviä, piti muuttaa taulukoksi, jossa on 4 saraketta ja 1000 riviä.

Koska tiedot sisälsivät myös tyhjiä rivejä ja ylimääräistä dataa, tilanne ei oikeasti ollut näin yksinkertainen. Vaan eipä hätää. Excel VBA* koodin avulla jokaisen rivin pystyi käymään yksitellen läpi. Jos rivi sisälsi sähköpostin @-merkin, seuraavat kolme riviä siirettiin omiin sarakkeisiinsa.

Hieman yksinkertaistettuna tällä prosessilla tiedot saatiin siististi yhteen taulukkoon.

*Excel VBA on Microsoft Excel-taulukkolaskentaohjelman sisäänrakennettu ohjelmointikieli, jolla voi automatisoida Excelin toimintoja.

Valmista puolessa päivässä

Aikaa kului puolikas päivä ja projekti oli valmis muutama päivä yhteydenoton jälkeen.

Päivitetty 31.5.2019. Lisätty väliotsikot.