Uvoz podatkov iz tekstovne datoteke CSV v Excel in
Uvoz podatkov iz tekstovne datoteke CSV v Excel in Calc
Kopico tabelaričnih podatkov običajno želimo imeti v obliki, ki nam omogoča, da podatke naprej obdelujemo. Najpogosteje to pomeni – po domače rečeno – v "excelih" oz. v enem od pregledničnih programov, kot sta Microsoft Excel in OpenOffice Calc.
Podatki so pogosto shranjeni v podatkovnih bazah, od koder bi jih želeli imeti v preglednici za nadaljnjo obdelavo. Neposreden izvoz v katerega od omenjenih programov je razmeroma redka funkcionalnost (PANTHEON to omogoča). Včasih je možno prikazane podatke označiti z miško, kopirati in prilepiti v preglednico, ne pa vedno.
Veliko programov, ki uporabljajo podatkovne baze, imajo možnost izvoza podatkov v t.i. CSV datoteko, običajno pa to gre tudi, če imate neposreden dostop do baze, torej da lahko izvajate poizvedbe.
CSV je kratica za comma-separated values, dobesedno torej z vejico ločene vrednosti, in je ena od najstarejših načinov strojnega zajema podatkov, ki se je uporabljala že v času luknjastih kartic. Datoteke tega tipa so pravzaprav navadne tekstovne datoteke, ki vsebujejo tabelarične podatke. Vrstice v datoteki predstavljajo vrstice v tabeli, stolpci oz. "celice" pa so, kot lahko sklepamo iz imena CSV, ločene z vejicami, lahko pa tudi drugimi znaki, običajni alternativi sta podpičje ali tabulator.

Slika 1: Primer CSV datoteke, tukaj kontakti, izvoženi iz e-poštnega programa Thunderbird. V prvi vrstici so nazivi stolpcev (slika je odrezana, torej niso vsi prikazani), v nadaljnjih pa vrednosti. "Celice" so ločene z vejicami.
Podvrsta CSV datotek so datoteke, kjer posamezne vrednosti niso ločene z ločevalnim znakom, ampak so na točno določenem mestu v vrstici in zato imajo fiksno dolžino, neuporabljeni znaki pa so zapolnjeni s presledki, da naslednja vrednost pride na pravo mesto.

Slika 2: Primer datoteke s fiksno dolžino vrednosti; tukaj tečajnica Ljubljanske borze. Na tej sliki se lepše vidi tabelarična struktura kot na sliki 1.
Uvoz v preglednico
Uvoz CSV datoteke v Excel 2003, Excel 2007 in OpenOffice Calc je razmeroma preprosto opravilo in precej podobno v vseh treh programih. Uvozili bomo podatke iz prej prikazanih datotek: kontakte iz TB_contacts.csv in tečajnice iz BTStecajEUR.txt. Končnici .csv in .txt sta tudi najpogostejši pri tako oblikovanih datotekah. Končnice vaših tekstovnih datotek se utegnejo razlikovati, a če ste prepričani, da vsebujejo tako oblikovane podatke, jih lahko po potrebi preimenujete.
Uvoz datoteke z ločevalnimi znaki v Excel
V Excelu 2003 gremo pod Data | Import External Data | Import Data in odprlo se bo okno Select Data Source. Izberemo želeno datoteko in jo odpremo. Odprlo se bo okno Text Import Wizard – Step 1 of 3.
V Excelu 2007 je le pot do tega okna drugačna, sicer je pa naprej vse isto. Najdemo ga pod Data | Get External Data | From Text.
V prvem koraku izberemo določimo, za katerega od dveh prej omenjenih tipov datotek gre: takega z ločevalnimi znaki ali s fiksnimi dolžinami vrednosti.

Slika 3: Excel – Prvi korak uvoza; izberemo, kako je datoteka oblikovana.
Najprej bomo uvozili kontakte, zato izberemo Delimited in kliknemo Next.
V drugem koraku izberemo, kaj je ločevalni znak – v našem primeru vejica. V spodnjem delu se bo prikazal tudi predogled tabele.

Slika 4: Excel – Določimo ločevalni znak. V predogledu vidimo predogled preglednice.
V zadnjem koraku lahko izločimo stolpce, ki jih ne potrebujemo, v tem primeru pravzaprav večino, saj ne vsebujejo podatkov. To storimo tako, da kliknemo želen stolpec in izberemo možnost Do not import column (skip). Več zaporednih stolpcev lahko izberemo tako, da kliknemo prvega v nizu, držimo tipko Shift in kliknemo zadnjega v nizu, potem pa izberemo obliko podatkov ali če naj bo stolpec izločen.

Slika 5: Excel – Nastavitev stolpcev. Tukaj smo četrti stolpec izločili iz končne preglednice, ker je prazen.
Za posamezne stolpce lahko določimo tudi obliko vsebovanih podatkov; izbiramo lahko med Splošno, Besedilo in Datum, četrta možnost je pa zgoraj omenjena za izločitev stolpca. V primeru bomo izločili vse stolpce razen prvega, drugega, tretjega in petega, ker edini vsebujejo relevantne podatke.
Ko smo vse ustrezno nastavili, kliknemo Finish. Program nas bo še vprašal, kam želimo odložiti podatke. Če uvažamo v novo preglednico, kliknemo le OK in podatki se bodo uvozili.

Slika 6: Excel - Podatki so uvoženi.
Uvoz datoteke s fiksno dolžino vrednosti v Excel
Tečajnica borze, ki jo uporabljamo v primeru, ni v celoti oblikovana enotno; na začetku je več vrstic, ki vsebujejo druge podatke, kot so naslov in datum, na dnu pa še opombe. Vsi ti podatki niso razvrščeni v stolpce na isti način kot tečajnica, ki so želimo uvoziti, zato jih moramo izločiti. To lahko storimo vnaprej, tako da preden tekstovno datoteko uvozimo, iz nje izbrišemo vrstice z odvečnimi podatki. Isto lahko storimo tudi po uvozu. Prvi korak uvažanja nam omogoča, da izločimo določeno število začetnih vrstic, kar bomo tudi uporabili. Odvečne vrstice na dnu pa bomo izbrisali po končanem uvozu.
Odpremo Text Import Wizard kot prej opisano in izberemo želeno datoteko. V prvem koraku izberemo možnost Fixed width. V spodnjem delu, kjer je predogled datoteke, gremo malce navzdol in vidimo, da se tečajnica, torej podatki, ki nas zanimajo, začne v vrstici 14 (oz. 12, če želimo zraven še opise stolpcev). Zato pod Start import at row: nastavimo 14 in kliknemo Next.

Slika 7: Excel – Ker uvažamo podatke s fiksno dolžino, izberemo ustrezno možnost. Prav tako določimo, da naj se uvažajo podatki od 14. vrstice naprej.
V naslednjem koraku določimo dolžino podatkov oz. širino stolpcev. Program sam poskuša zaznati stolpce in nam ponudi nastavitev, ampak tule bodo potrebni ročni popravki. Pri tej vrsti CSV datotek je običajno, da stolpec sega od svojega začetka in prav do začetka naslednje vrednosti, ne le do konca vnesenih znakov.
Ločilo stolpca vstavimo tako, da kliknemo na mesto, kjer ga želimo. Obstoječe ločilo lahko premikamo, tako da ga povlečemo z miško, izbrišemo ga pa z dvojnim klikom. Sicer pa so ti napotki navedeni v drugem koraku okna za uvoz.

Slika 8: Excel – Program je samodejno določil stolpce in vidimo, da so potrebni popravki.
Prvi stolpec moramo podaljšati, da se bo končal tik pred naslednjim. Zato premaknemo prvo ločilo en znak na desno. Dodati moramo več stolpcev; v vidnem delu na sliki moramo dodati tri, tako da bodo Tier, Type, symbol in ISIN ločeni stolpci. Kliknemo tik pred Type in symbol, da dodamo novi ločili, kot tretjega pa lahko premaknemo ločilo za stolpcem ISIN, ki zdaj napačno označuje prazen stolpec.
Tako gremo čez celo širino podatkov, določimo stolpce in kliknemo Next, ko smo končali. Če potrebujemo le nekatere stolpce na začetku, od določenega naprej na desno pa ne, tistih pravzaprav ni potrebno ločevati; pustimo jih kot enega in v naslednjem koraku vse skupaj izločimo.

Slika 9: Excel – Stolpci so določeni.
Podobno kot v prejšnjem primeru lahko tudi tule stolpcem določimo obliko podatkov ali jih po potrebi izločimo.

Slika 10: Excel – Nastavitev stolpcev: nobenega stolpca ne bomo izločili.
Kliknemo Finish, izberemo, kje želimo podatke imeti, in podatki se bodo uvozili. Ker so pod tečajnico v datoteki bili še drugi podatki, ki niso oblikovani tako, kot smo z ločitvijo stolpcev določili, imamo na dnu po celicah razmetane podatke, ki jih po potrebi še izbrišemo.

Slika 11: Excel - Podatki so uvoženi. Le še odvečne vrstice z razmetanimi podatki moramo izbrisati.
Uvoz datoteke z ločevalnimi znaki v OpenOffice Calc
V Calcu je funkcija za uvoz iz tekstovne datoteke integrirana kar v običajno odpiranje datoteke. Želeno datoteko torej le odpremo in program bo zaznal, da gre za tekstovno datoteko in odprl okno Text Import.
Možnosti so zelo podobne tistim v Excelu, le da niso razdeljene v korake. Izbiramo lahko tip tekstovne datoteke, ločevalni znak, koliko začetnih vrstic naj bo izpuščenih, kateri stolpci naj ne bodo prikazani in za tiste, ki bodo, kakšno obliko podatkov vsebujejo, spodaj pa še predogled.

Slika 12: Calc - Nastavimo možnosti za uvoz podatkov.
Vejica je že izbrana kot ločilo, le še neželene stolpce izločimo: izberemo stolpec in pod Column type izberemo Hide, lahko pa tudi v meniju, ki se prikaže, ko z desnim miškinim gumbom kliknemo na stolpec. Kot v Excelu lahko zaporednih stolpcev izberemo tako, da kliknemo prvega v nizu, držimo tipko Shift in kliknemo zadnjega v nizu, potem pa izberemo obliko podatkov ali če naj bo stolpec izločen. Ko smo nastavili želene nastavitve, kliknemo OK.

Slika 13: Calc - Podatki so uvoženi.
Uvoz datoteke s fiksno dolžino vrednosti v OpenOffice Calc
Tečajnica delnic, ki jo uporabljamo v primeru, ima končnico .txt, zato jo OpenOffice odpre s svojim urejevalnikom besedil Write, četudi datoteko odpiramo iz Calca. Da dobimo Text Import okno, moramo pri odpiranju določiti tip datoteke pod Files of type:, in sicer Text CSV (*.csv; *.txt; *.xls), ki ga najdemo približno na sredini dolgega seznama tipov datotek.

Slika 14: Calc - Izberemo ustrezen tip datoteke, da nam naše datoteke s končnico .txt ne odpira z Writom.
Če ima vaša tekstovna datoteka kakšno drugo končnico kot katerakoli od naštetih, jo je priporočljivo preimenovati v eno od njih.
Odpremo želeno datoteko in pojavi se okno Text Import. Izberemo Fixed width, saj uvažamo datoteko s fiksno dolžino vrednosti. Pod From row lahko nastavimo, koliko začetnih vrstic naj uvoz preskoči. Enako kot pri Excelu bomo vnesli 14, vrstice na dnu pa bomo prav tako morali izbrisati po uvozu.
Določiti moramo še stolpce, kar poteka podobno kot v Excelu: kliknemo, kjer želimo dodati ločilo stolpcev; ločilo premikamo tako, da ga potegnemo z miško na želeno mesto; brisanje je pa malce nerodno – ločilo, ki ga želimo izbrisati, moramo z miško potegniti na drugo že obstoječe ločilo. Razlika od Excela je še v tem, da v Excelu lahko kliknemo kjerkoli v predogledu za urejanje ločil, v Calcu pa lahko le v ravnilu na vrhu.

Slika 15: Calc - Določimo stolpce. Krepkejša vodoravna črta označuje, od kod naprej se bodo podatki uvažali.
Če potrebujemo le nekatere stolpce na začetku, od določenega naprej na desno pa ne, tistih pravzaprav ni potrebno ločevati; pustimo jih kot enega kot takega izločimo iz uvoza. V tem primeru bomo ločili in uvozili vse stolpce.

Slika 16: Calc - Podatki so uvoženi.
Kot pri Excelu so tudi tu pod tečajnico uvoženi podatki, ki niso tako razvrščeni v stolpce in jih po potrebi izbrišemo.
Izbira tipa CSV
Če hočete CSV datoteko uporabiti za prenos podatkov, bodisi na opisan način bodisi za kaj drugega, se vam mogoče postavlja vprašanje, katero obliko podatkov izbrati.
Vrednosti fiksne dolžine so dobra izbira, če želite očesu prijazno obliko ali morate podatke prikazati nekje, kjer res ni druge možnosti glede pregledničnih programov. V drugih primerih pa vsekakor bolj priporočam obliko z ločevalnimi znaki.
Slabost fiksne dolžine razkriva že naziv. Dolžina posamezne vrednosti je načeloma res neomejena, vendar morate dobro načrtovati vnaprej, da vam kdaj ne bi odrezalo kakšne vrednosti, ker je predolga, ali da bi predolga vrednost zamaknila vrednosti za njo. Sicer pa ta možnost izvoza ni prav pogosta, zato jo boste redko imeli priložnost uporabiti.
Pri izvozu v datoteko z ločevalnimi znaki je ključno vprašanje, kateri znak uporabiti kot ločilo. Pogosto je to vejica, vendar morate biti pozorni na to, da se ločevalni znak ne pojavlja v vrednostih, kar se pri vejici zna zgoditi. Zato bi vas mogoče zamikalo uporabiti kakšen bolj obskuren znak, kot je denimo © ali §, vendar bodite pozorni na to, da je ta znak podprt tudi pri uvozu. Excel in Calc recimo podpirata vnos poljubnega ločevalnega znaka pri uvozu, drugi programi pa mogoče ne.