jesteś tutaj
479
Zaawansowana iteracja
To wygląda już lepiej:
każdy wiersz danych
z pliku CSV został
przekształcony w listę.
Otwórz plik
za pomocą
instrukcji with...
...następnie odczytaj
dane wiersz po
wierszu, korzystając
z metody csv.reader.
Odczytywanie danych CSV jako list
Dane CSV w swojej surowej formie nie szczególnie użyteczne. Byłyby znacznie bardziej
przydatne, gdyby dało się je odczytać i podzielić każdy wiersz w miejscu występowania przecinka,
upraszczając w ten sposób dostęp do poszczególnych danych składowych.
Choć da się dokonać tego podziału za pomocą własnego kodu Pythona (przy użyciu metody
split
należącej do obiektu reprezentującego łańcuch znakowy), korzystanie z danych CSV jest tak
powszechną czynnością, że
biblioteka standardowa zapewnia moduł o nazwie
csv
, który z pewnością
może się nam tu przydać.
Poniżej znajdziesz kolejną niewielką pętlę
for
, która prezentuje możliwości oferowane przez moduł
csv
. W przeciwieństwie do poprzedniego przykładu, w którym korzystałeś z metody
read
w celu
pobrania całej zawartości pliku
za jednym zamachem, w kodzie przedstawionym poniżej użyliśmy
metody
csv.reader
, aby odczytać plik CSV po jednym wierszu naraz w pętli
for
. W każdej iteracji
pętla ta przypisuje każdy wiersz danych CSV do zmiennej (o nazwie
line
), która jest następnie
wyświetlana na ekranie.
Moduł
csv
wykonuje tu kawał dobrej roboty. Każdy wiersz surowych danych jest odczytywany
z pliku, a następnie „magicznie” przekształcany w dwuelementową listę.
Oprócz tego, że informacje tworzące nagłówek (znajdujące się w pierwszym wierszu pliku)
zostały zwrócone w postaci listy, formę oddzielnej listy przybrała też każda para składająca się
z godziny odlotu i miejsca docelowego. Zauważ, jaki
typ mają poszczególne elementy danych,
które zostały w ten sposób zwrócone: wszystko jest tutaj łańcuchem znakowym, mimo że
pierwszy element każdej listy (ewidentnie) reprezentuje godzinę.
Moduł
csv
ma jeszcze kilka asów w rękawie. Inną interesującą metodą jest
csv.DictReader
.
Przekonajmy się, co może ona dla nas zrobić.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.