Przejdź do głównej zawartości

Pliki płaskie w Pythonie - jak importować CSV, TSV i TXT? [Praktyczny przewodnik dla początkujących]

 


Pliki płaskie (ang. flat files) - co musisz o nich wiedzieć?

Choć nie przewidywałam żadnych wpisów przed tym,  jak moje wrażenia z podejścia do certyfikatu na DataCampie, to życie miało swoje plany. Mam małe opóźnenia w przygotowaniach, ale i tak jestem z siebie dumna, że posuwam się do przodu. Powoli, lecz systematycznie i to pomimo, że w życiu osobistym przeżywam właśnie trudniejszy czas. Uznałam, że lepsza mała powtórka, niż absolutnie nic.  Dlatego w dzisiejszym wpisie zajmiemy się tematem plików płaskich i sposobami na zaimportowanie ich. 

Spis treści:

Czym są pliki płaskie i jakie są ich rodzaje?

Jak wczytać plik tekstowy?

Jak zaimportować plik, gdy jego zawartość to same liczby?

Jak zaimportować dane w formacie tabelarycznym zawierające różne typy danych?

Ciekawostki dla początkujących

Parę słów o tym typie plików

Pliki płaskie (ang. flat files) - są tak ważne nie tylko dlatego, że jest to standard do przechowywania danych numerycznych, ale także często ten format danych jest potrzebny do innych pakietów Pythona, np. scikit-learn. Przez "plik płaski" rozumiemy dwuwymiarową bazę danych tekstowych, przechowującą dane w formacie tabelarycznym (złożone z rekordów) bez powiązań strukturalnych, co stanowi przeciwieństwo do relacyjnych baz danych. Dane te mogą zawierać same liczby lub mieszane typy danych, mogą (lecz nie muszą) mieć nagłówek. Może to być też sam tekst. Wyróżniamy pliki płaskie takie jak:

CSV (ang. Comma Separated Values), w których ogranicznikiem jest przecinek

TSV (ogranicznikiem jest tabulator - w kodzie zapisujemy go jako "\t")

PSV (ogranicznikiem jest "|")

TXT (tekst)

Wczytywanie pliku tekstowego










Możemy wczytać plik także w sposób niewymagający "zamknięcia pliku", z użyciem menedżera kontekstu with. Dzięki niemu możemy wykonywać polecenia przy otwartym pliku. Jest to dobra praktyka przy wczytywaniu plików. Jak to zrobić?






Importowanie pliku płaskiego, gdy zawiera on same liczby

Możemy wtedy do importowania użyć biblioteki Pythona NumPy i zaimportować plik jako tablicę (ang. array). Jest to o tyle dobra opcja, że są takie funkcje pakietu NumPy, które są w stanie bardzo wydajnie zaimportować dane w postaci tablic, dlatego jeśli można (tzn. dane na to pozwalają), to warto skorzystać z tej opcji. 
Możemy wtedy także użyć biblioteki pandas, jednak częściej korzysta się z NumPy do importowania danych numerycznych, a pandas do danych zawierających mieszane typy danych. 
Te funkcje NumPy używane do importowania to loadtxt() oraz genfromtxt(). Pokażę to na przykładzie pierwszej funkcji: 









Importowanie danych w formacie tabelarycznym zawierające różne typy danych (najczęściej CSV)










Ciekawostka dla początkujących

Jeśli jestescie na początku drogi do zostania mistrzem danych, pewnie nie słyszeliście o PEP20, nazywanym także Zen of Python, czyli  20 aforyzmów dotyczących pisania kodu (z czego tylko 19 zostało spisanych). Jedna z nich nawiązuje do dzisiejszego tematu posta - jest to zasada piąta, czyli:


Flat is better than nested.


Warto rzucić okiem także na pozostałe, np. tutaj: The Zen of Python


Jest to pierwszy post z całej serii o wczytywaniu plików, bo myślę, że temat został tutaj dopiero "delikatnie poruszony". Jednak to, co tutaj opisałam to już całkiem solidne podstawy do tego, by zacząć pracę na real-world data. 


* Zdjęcie z początku posta pochodzi z Pixabay a jego autorem jest Pexels





Komentarze

Popularne posty z tego bloga

Statystyka praktyczna w data science- książka [RECENZJA]

  Idąc za ciosem, postanowiłam dalej pracować nad swoim rozumieniem statystyki. W tym celu sięgnęłam po książkę „Statystyka praktyczna w data science” autorstwa Petera Bruce’a, Andrewa Bruce’a i Petera Gedecka. Czy jestem zawiedziona? Wręcz przeciwnie! 📘 Dlaczego sięgnęłam po tę książkę? Po przeczytaniu „Analityka danych” (o którym pisałam tutaj: Jak polubić statystykę? Książka „Analityk Danych”- idealna na początek! [Recenzja] ) poczułam, że czas na kolejny krok- coś bardziej konkretnego i praktycznego. Chciałam ugruntować podstawy statystyki, ale w sposób zrozumiały, nieprzytłaczający i przydatny z perspektywy osoby, która dopiero wchodzi w świat data science. 💡 Pierwsze wrażenie- bardzo pozytywne! Jestem zadowolona ze swojego wyboru z wielu powodów. Przede wszystkim – za sposób, w jaki ta książka została zaprojektowana. Różne elementy treści zostały wyróżnione: kursywą, pogrubieniem, czcionką o stałej szerokości, a nawet czcionką o stałej szerokości z kursywą . Do tego trzy ...

Certyfikat DataCamp: Python Data Associate- jak się do niego przygotowuję?

  Minęło już sporo czasu, odkąd zaczęłam uczyć się na platformie DataCamp. Większość materiałów, które przerabiałam, dotyczyła Pythona (choć trochę zahaczyłam też o inne tematy). Może się wydawać, że po tak długim czasie powinnam już być mistrzynią, ale prawda jest taka, że między dwoma intensywnymi okresami nauki minęło wystarczająco dużo czasu, żebym zaczęła się zastanawiać… czy ja w ogóle jeszcze coś pamiętam? Praktyka jest ważna - a ja trochę o tym zapomniałam. Potem przyszedł moment intensywnych powtórek, od zupełnych podstaw. Chciałam mieć pewność, że nic mi nie umknęło i że nie przeskoczyłam czegoś istotnego. To wtedy postanowiłam, że tym razem nie odpuszczę, nawet jeśli życie znowu postanowi trochę namieszać (a potrafi). Ustaliłam sobie konkretny cel, zaczęłam działać i regularnie wracać do materiału. Podsumowanie nauki Dla mnie fajnym podsumowaniem tej nauki są różnego rodzaju certyfikaty. Nie tyle dla CV, co po prostu dla siebie - żeby się podbudować i mieć poczucie, że ...

Jak polubić statystykę? Książka „Analityk Danych”- idealna na początek! [Recenzja]

  Dlaczego warto przeczytać ten wpis?      Temat projektów przekładam na kolejny wpis. Muszę się czymś podzielić. Dwa tygodnie temu zakupiłam w Empiku książkę pod tytułem „Analityk Danych” autorstwa Alexa J. Gutmana i Jordana Goldmeiera. Ta pozycja jest REWELACYJNA (pomimo, że dotyczy statystyki w data science). To moja druga książka o statystyce w życiu i muszę przyznać, że tę pierwszą biorę sobie do czytania, gdy nie mogę zasnąć. Sprawdza się doskonale. Natomiast od tej nie mogę się odkleić, co jest naprawdę dziwne, bo jest o statystyce, za którą naprawdę kiedyś nie przepadałam. Teraz jednak dochodzę do wniosku, że to nie była kwestia samej statystyki, bo daleko jej do nudy. To była kwestia sposobu przekazywania mi tych treści. Ta sama historia, co z Excelem. Co sprawia, że ta książka jest tak dobra?      Jeśli chodzi o treść książki, to pierwsze, co nasuwa mi się na myśl to jest bardzo zwięzły i zgrabny sposób składania zdań. Warto tutaj wspomni...