Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
Veel üks suurem programm
CSV FAILIST LUGEMINE
Selles lisamaterjalis on toodud veel üks natuke suurem programm, mis on mõeldud andmete töötlemiseks. Kesksel kohal on siin CSV-failiformaat, mis on käsitletav (salvestamine, lugemine) erinevates laiatarbeprogrammidega. Siin näeme, et ka Pythonis saame selle formaadiga tegutseda.
Koostage Exceli või mõne muu tabelitöötlusprogrammiga mõneveeruline andmete komplekt, nt:
Nimi | Vanus | |
---|---|---|
Peeter Pedajas | 35 | peeter@xx.ee |
Mari Mammu | 21 | mammu@zz.ee |
... | ... | ... |
Salvestage loodud tabel CSV formaati (http://en.wikipedia.org/wiki/Comma-separated_values) nimega isikud.csv (nt. Excelis Fail -> Salvesta nimega -> CSV (komaga eraldatud)).
Avage fail esialgu tekstiredaktoriga (nt. Notepadiga), et näha, kuidas täpselt andmed on salvestatud.
Kirjutame programmi, mis töötleb faili sisu ridahaaval. Iga rea sisu tuleks osade kaupa ekraanile kuvada, nt:
Nimi: Peeter Pedajas Vanus: 35 e-mail: peeter@xx.ee --------------------------- Nimi: Mari Mammu Vanus: 21 e-mail: mammu@zz.ee --------------------------- ...
Lahendus:
# Ava fail f = open("isikud.csv") # Loetakse sisse esimene rida # esimene rida on päis esimene = f.readline() tunnused = esimene.strip().split(",") # Tee rida sõnetükkideks koma kohalt # Loe fail reakaupa for rida in f: rida_listina = rida.strip().split(",") # Tee rida sõnetükkideks koma kohalt for i in range(len(rida_listina)): # Vaata kõik tükkid eraldi print(tunnused[i]+": "+ rida_listina[i]) # Väljasta ekraanile päise osa ja rea vastava osa print("-"*20) # Väljasta rida, mida koosneb 20-st - märgist f.close() # fail suletakse