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

SQL w 2 godziny dziennie - plan, motywacja, materiały

  Przyszedł czas na ustalenie nowych celów. Mój wybór padł na powtórki i rozszerzanie wiedzy z SQL. Opracowałam już prosty plan, którego zamierzam się trzymać, rozplanowałam sobie jaką część tego planu zamierzam wykonać w poszczególne dni. Jestem podekscytowana. Jak zawsze, gdy zaczynam coś nowego.  Małe sprostowanie: SQL nie jest dla mnie ZUPEŁNIE nowy, uczyłam się go już kiedyś, ale to było dawno i mam potrzebę go odświeżyć.  Dlaczego akurat SQL? Bo to narzędzie, które mimo upływu lat nie traci na aktualności. W świecie danych SQL wciąż jest podstawą  - niezależnie od tego, czy pracujesz w analizie danych, nauce o danych, czy w IT szerzej. Ja sama coraz częściej trafiam na sytuacje, w których jego znajomość bardzo by mi się przydała - przy analizie wyników, raportach, czy integracji danych z różnych źródeł. Poza tym lubię jego logiczność i strukturę - jest coś satysfakcjonującego w dobrze napisanym zapytaniu, które robi dokładnie to, co powinno. Czuję, że warto poś...

Mój tydzień z nauką Excela i Pythona – projekty, powtórki i plan działania.

Obraz  StockSnap  z  Pixabay Podsumowanie tygodnia – systematyczność kluczem do sukcesu      To był intensywny tydzień – zarówno pod względem nauki, jak i pracy. Mimo wszystko najważniejsza jest systematyczność, dlatego jestem sobie wdzięczna, że nie odpuszczam, nawet gdy nie jest najłatwiej.      Udało mi się zamknąć temat kursów dotyczących Excela (oczywiście tylko tymczasowo). Osiągnęłam etap, który chcę podsumować osobistym projektem, a także poświęcić więcej czasu na swobodną pracę z poznanymi narzędziami. Teraz jest czas na utrwalanie wiedzy i rozpoczęcie nowego etapu – nauki Pythona. Nowe podejście do nauki – Excel i Python w równowadze      Zastanawiałam się, jak najlepiej zorganizować naukę, aby jednocześnie skupić się na nowym materiale (Python) i nie zapomnieć tego, czego nauczyłam się w Excelu. Ostatecznie wybrałam podejście, które łączy oba te aspekty: Skupienie się na Pythonie – rozwijanie umiejętności kodowania ...

DataCamp Python Data Associate - relacja i wskazówki dla zdających

Dlaczego zdecydowałam się na ten certyfikat? Wspominałam już wcześniej nie raz i nie dwa, jak sądzę, że przymierzam się do certyfikatu DataCamp Python Data Associate . Od dłuższego czasu często zaglądam na DataCamp i w miarę mojej eksploracji tej platformy zachciałam skorzystać także z opcji przystąpienia do certyfikatu. Żeby się sprawdzić? Żeby coś sobie udowodnić? A może poczuć się lepiej z własną wiedzą? Myślę, że wszystko po trochu popchnęło mnie do tego działania. Długo wahałam się, czy to już ten moment, kiedy chcę się "testować". Nigdy nie byłam osobą, która wyrywała się do odpowiedzi. Wolałam milczeć, ale zapytana odpowiadać na pytania poprawnie. Tak samo teraz, nienaturalnym było dla mnie robić coś takiego z własnej inicjatywy i to w formie spędzania wolnego czasu. Dla przyjemności. Jak wygląda egzamin? Certyfikat składa się z dwóch części. Pierwsza jest teoretyczna i są na nią przeznaczone 2 godziny, kolejna część - praktyczna - trwa 4 godziny (lub krócej oczywiśc...