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

Czego nauczyłam się o sobie w trakcie przebranżowienia?

  Czego nauczyłam się o sobie w trakcie przebranżowienia? W międzyczasie przygotowań do certyfikatu postanowiłam poruszyć nieco lżejszy temat. Taki bardziej osobisty- o tym, czego nauczyłam się o sobie podczas przebranżowienia i co się zmieniło w moim podejściu do nauki odkąd zaczęłam szykować się do nowej roli. Lepsze planowanie = mniej chaosu Pierwsza rzecz, która od razu przychodzi mi do głowy, to zdecydowanie lepsze planowanie nauki . Bez planu łatwo się pogubić albo przytłoczyć ilością materiału, który trzeba ogarnąć. Dlatego zawsze robię plan- najczęściej tygodniowy. Uwzględniam w nim obsunięcia czasowe, więc w większości przypadków udaje mi się go zrealizować. Nie spieszę się za bardzo, bo zależy mi na dogłębnym poznaniu każdego tematu (na poziomie, który sobie wcześniej ustaliłam – douczanie się to i tak temat na całe życie 😉 ). Staram się łączyć różne formy nauki: teoria i praktyka na DataCampie, webinary, filmy na YouTubie, książki, projekty „do szuflady”. I co najważ...

10+ najczęstszych błędów w analizie danych (i jak ich uniknąć przed certyfikatem DataCamp)

  Gdy życie krzyżuje plany  (i co z tego wynika) Jestem na etapie kończenia zaplanowanych powtórek. Wszystko idzie trochę wolniej, niż zakładałam, bo życie (ech, znowu ono) pokrzyżowało mi plany. Mam teraz coś znacznie ważniejszego, z czym muszę się zmierzyć, niż jakikolwiek certyfikat. W tym krótkim poście chciałabym pochylić się nad częstymi błędami, które zdarzają się osobom przygotowującym się do certyfikatu, do którego ja też podchodzę. Pisałam o nim tutaj →  Certyfikat DataCamp: Python Data Associate- jak się do niego przygotowuję? . Skąd wzięłam te błędy? Najpierw przedstawię błędy wymieniane przez autorów materiałów na DataCampie. Potem przejdę przez takie, które często pojawiają się w innych źródłach (np. tu: laboratorium-mozliwosci.pl , dataconversion.ie ). Później dorzucę coś od siebie - czyli błędy, które sama popełniłam. A na koniec to, co podpowiedział mi jeszcze ChatGPT (jako uzupełnienie listy). Z mojej perspektywy - osoby, która przygotowuje się do egza...

Jak efektywnie uczyć się Excela? Mój tydzień z nauką i projektem.

  Obraz  Markus Winkler  z  Pixabay Podsumowanie tygodnia – plan nauki (prawie) zrealizowany!      Ten tydzień oceniam jako niezwykle udany z perspektywy realizowania mojego planu nauki, który przedstawia łam wcześniej. Zrealizowałam prawie cały plan, nie licząc dwóch kursów ze „Skill Tracka” Data Analysis with Excel Power Tools (no, tak naprawdę zostało mi 1.5 kursu, jestem właśnie na Power Pivocie). To o wiele lepszy wynik, niż się spodziewałam. Szczególnie, że wszystko od razu sprawdzam w praktyce, upewniam się czy wiem jak zastosować, a jeśli trzeba- powtarzam. Robię też notatki- oczywiście na komputerze. Mimo, że się nie spieszyłam, bo zależało mi na solidnym opanowaniu przerabianego materiału, to mam do zaprezentowania kolejne etapy skreślone z listy zadań: Pierwszy projekt – nauka w praktyce      Projekt, który wykonałam, był próbny i realizowany razem z tutorialem. Sama idea zakończenia cyklu nauki projektem była genialna. Czuł...