Tekst uitlezen uit een bestand
Tekst netjes laten ophakken in stukjes
Vorige les zijn we begonnen met leren over het plotten van aardbevingen op een wereldkaart.
Als het goed is, heb jij aan het einde van deze lessenserie héél veel aardbevingen geplot op een wereldkaart met behulp van Python
Plotten betekent dat je een verzameling gegevens visueel laat zien op een scherm of op papier.
Plotten betekent dat je een verzameling gegevens visueel laat zien op een scherm of op papier.
Bij plotten maak je gebruik
van (coördinaat-)assen.
Plotten betekent dat je een verzameling gegevens visueel laat zien op een scherm of op papier.
Bij plotten maak je gebruik
van (coördinaat-)assen.
Met coördinaten kun je locaties op aarde aangeven!
Latitude gaat van -90° tot 90°
Longtitude gaat van -180° tot 180°
Latitude ( breedtegraad )
Latitude gaat van -90° tot 90°, dus de hele hoogte van de kaart heeft 180 eenheden. Op 0°, in het midden, ligt de evenaar.
Longtitude ( lengtegraad )
Longtitude gaat van -180° tot 180°, dus de hele breedte van de kaart heeft 360 eenheden.
Met de magnitude wordt aangegeven hoe sterk de aardbeving is.
Depth staat voor hoe diep in de aarde de aardbeving plaats heeft gevonden.
Hoe zorgen we nu dat we het proces van plotten kunnen versnellen?
Python kan data inlezen en het werk voor je doen
Wow! Dat is SUPER veel data die Python heeft ingelezen.
Hoe halen we hier nu de informatie uit die we nodig hebben?
Alle data staat een hele lange 'lijst'. Weet je nog hoe lijsten werken?
dieren = ['schildpad', 'kikker']
print('De', dieren[0], 'loopt door het bos.')
In de variabele data staat nu dus een hele lange lijst met alle informatie over heel veel aardbevingen.
data = ['1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6',
'1/4/65,11:29:49,1.863,127.352,Earthquake,80,5.8']
Per regel in je lijst vind je alle informatie over één aardbeving.
Hoe denk jij dat je nu de eerste regel uit data kan 'inlezen'?
data = ['1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6',
'1/4/65,11:29:49,1.863,127.352,Earthquake,80,5.8']
Tip: Denk terug aan hoe jij een dier uit je lijst kon aanwijzen om te gebruiken in je verhaal.
Schrijf het antwoord op je wisbordje!
Met data[0] lezen we de eerste regel uit. Nu willen we die regel gaan opslaan zodat we er straks wat mee kunnen doen.
Definieer een variabele data en geef deze als waarde de ingelezen data uit je bestand
Definieer daarna een variabele regel_1 en geef deze de eerste regel van data als waarde
target_url = 'https://gist.githubusercontent.com/Felienne/00d73c032f4ad14d701aecac4c0245fa/raw/0de7cff62e96a0ead4b586274479f7713be76833/earthquakes.csv'
#Stap 1
data = readlines(target_url)
#Stap 2
regel_1 = data[0]
Zo, we hebben de eerste regel opgeslagen:
regel_1 is nu netjes: '1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6'
Nouja, netjes? Het is nog niet echt handig om er iets uit te halen, want het is één lange letter- en cijferbrei...
regel_1 is: '1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6'
De magnitude is het laatste cijfertje! Waar in excel een streepje staat, staat in python een komma.
Hoe gaan we nu
alleen dit cijfertje
opslaan in een variabele?
regel_1 is: '1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6'
Split! We gaan de regel ophakken in stukjes. Zie je dat alle data is gescheiden door een komma in Python? Op dat teken gaan we splitsen.
regel_1 = data[0]
opgehakte_regel_1 = regel_1.split(',')
Gaaf!! We hebben nu alle data uit de eerste regel in de vorm van een lijst.
regel_1 = data[0]
opgehakte_regel_1 = regel_1.split(',')
De waarde van opgehakte_regel_1 is:
['1/2/65', '13:44:18', '19.246', '145.616', 'Earthquake', '131.6', '6']
Hoe krijgen we nu de magnitude (de laatste waarde van de lijst) van deze aardbeving?
['1/2/65', '13:44:18', '19.246', '145.616', 'Earthquake', '131.6', '6']
Juist! Net zoals we onze olifanten en schildpadden uit onze lijst haalden, kunnen we nu ook de magnitude uit een lijst halen.
Uiteraard werkt dit ook voor alle andere waardes van de aardbeving! Zo kun je ook iets printen over de datum van de aardbeving, of over de coördinaten.
lijst_van_regel_1 = regel_1.split(',')
magnitude = lijst_van_regel_1[6]
We hebben wat bijzondere code nodig om onze opdrachten mee te maken. Deze staat voor je klaar op:
https://repl.it/@LisaVanDerPlas/CSC-M3-L2B
Klik op fork om deze code te kopieren naar je eigen project.
https://repl.it/@LisaVanDerPlas/CSC-M3-L2B
Pas daarna de naam aan naar de naam van je opdracht.
Basis:
Extra:
Tekst uitlezen uit een bestand
Tekst netjes laten ophakken in stukjes