Jak pobrać dane z bazy danych w Pythonie? Importowanie danych za pomocą Pythona
Opublikowany: 2021-03-09Analiza danych jest kluczową umiejętnością dla młodych absolwentów, inżynierów i menedżerów w dzisiejszym środowisku pracy opartym na technologii. W tym artykule omówimy, jak pobierać dane z bazy danych w pythonie i przyspieszyć zapoznanie się z niektórymi podstawowymi pojęciami.
Spis treści
Ekstrakcja danych za pomocą bazy danych Pythona
Ekstrakcja danych obejmuje pobieranie danych z różnych źródeł, a czasem ich dalsze przetwarzanie i migrację do repozytoriów w celu dalszej analizy. Tak więc w procesie zachodzi pewna transformacja danych. Python jest jednym z wiodących języków programowania do takich zadań związanych z analizą danych. Na całym świecie jest około 8,2 miliona użytkowników tego uniwersalnego i skryptowego języka.
W poniższym przewodniku omówimy metody ekstrakcji przy użyciu PostgreSQL, relacyjnego systemu baz danych o otwartym kodzie źródłowym. Udostępnia funkcję ROW_TO_JSON, która zwraca zestawy wyników jako obiekty JSON, które są otoczone nawiasami klamrowymi {}. Typy danych JSON pomogłyby w wygodniejszym manipulowaniu wynikami zapytań. Ale zanim zaczniemy, upewnij się, że masz zainstalowane środowisko wirtualne, takie jak psycopg2-binary.
Podstawy bazy danych Pythona
Załóżmy, że masz bazę danych PostgreSQL amerykańskiej Narodowej Ligi Futbolu (NFL). Obejmuje to informacje o zawodnikach, trenerach i tabelach drużyn. Zwróć również uwagę na następujące szczegóły, aby uzyskać informacje na temat przechowywanych danych:
- W tabeli danych graczy znajdują się takie szczegóły, jak athelete_id, który jest kluczem podstawowym, imiona i nazwiska graczy, numery koszulek, waga (w kg), wzrost (wm) oraz kraj pochodzenia. Zawiera również team_id, klucz obcy wskazujący drużynę każdego sportowca.
- Tabela danych trenerów zawiera coach_id (klucz podstawowy) wraz z imieniem i nazwiskiem oraz team_id (klucz obcy odwołujący się do pola tabeli zespołów).
- Na koniec znajduje się tabela drużyn, która opisuje każdą drużynę piłkarską z nazwą, konferencją, ich rankingiem oraz łącznymi wygranymi i przegranymi (rozgałęzionymi na „u siebie” i „na wyjeździe”). Tutaj kluczem podstawowym jest team_id, do którego odwołują się powyższe tabele.
Teraz, gdy znasz już zestaw danych, przyjrzyjmy się, jak napisać zapytanie SQL, aby pobrać listę zespołów. Na przykład potrzebujesz drużyn piłkarskich uporządkowanych według ich konferencji i rangi. Chcesz również wyodrębnić liczbę sportowców lub graczy w każdej drużynie wraz z nazwiskami ich trenerów. Możesz także chcieć poznać liczbę wygranych i przegranych drużyn, zarówno u siebie, jak i na wyjeździe.
Wykonaj poniższe czynności, aby rozpocząć ten proces:
WYBIERZ
f.imię,
f.miasto,
f.konferencja,
f.konferencja_ranga,
COUNT(a.player_id) AS liczba_sportowców,
CONCAT(c.imię, ' ', c.nazwisko) Trener AS,
f.home_wygrane,
f.away_wins
OD sportowców a, drużyny f, trenerów c
GDZIE a.team_id = f.team_id
ORAZ c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDER BY f.konferencja, f.konferencja_ranga
Następnie możesz wypaczyć zapytanie w funkcji JSON, o której wspominaliśmy wcześniej (ROW_TO_JSON). Spowoduje to zapisanie danych w pliku o nazwie query.sql w bieżącym katalogu. Teraz przejdź do kroków podanych poniżej.
SELECT ROW_TO_JSON(team_info) Z (
WYBIERZ
f.imię,
f.miasto,
f.konferencja,
f.konferencja_ranga,
COUNT(a.a.athelete_id)AS liczba_sportowców,
CONCAT(c.imię, ' ', c.nazwisko) Trener AS,
f.home_wygrane,
f.away_wins
OD sportowców a, drużyny f, trenerów c
GDZIE a.team_id = f.team_id
ORAZ c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDER BY f.konferencja, f.konferencja_ranga
) JAKO team_info
Można zauważyć, że każdy wiersz ma strukturę słownika Pythona. Klucze to tylko nazwy pól zwrócone przez zapytanie.
Co więcej, aby uniknąć ujawniania zmiennych środowiskowych na widoku, możesz wprowadzić pewne zmiany w plikach inicjujących. Wybierz jedną z poniższych metod, w zależności od potrzeb:
- W systemie Windows: Panel sterowania → System → Zaawansowane ustawienia systemu → Karta Zaawansowane → Zmienne środowiskowe.
- Dla środowiska podobnego do Uniksa: Dołącz dwie linie dotyczące nazwy użytkownika i hasła do pliku inicjującego.
Dzięki temu jesteś gotowy do pisania kodu w Pythonie. Na samym początku zaimportujemy niektóre moduły i funkcje, aby zapobiec błędom. Poniższe stwierdzenia mogą ci pomóc w osiągnięciu tego celu:
importuj system
importuj psycopg2 jako p
z błędu importu psycopg2
Następnie utworzymy wystąpienie połączenia, ładując zawartość pliku query.sql. Otwórz plik bazy danych SQL za pomocą poleceń open i read i połącz się z bazą danych NFL za pomocą funkcji connect, określając użytkownika bazy danych, hasło, host i numer portu.
Przeczytaj także: Projekty Pythona na GitHub
Jak pobrać dane z bazy danych w Pythonie?
Po nawiązaniu połączenia z bazą danych możesz kontynuować wykonywanie zapytania. Musisz użyć struktury kontrolnej zwanej „kursorem”. Jest to tak proste, jak napisanie „cursor = conn.cursor()”, a następnie „cursor.execute(query)”. Wynik zawierałby wówczas listę krotek (jednoelementowych) w formacie słownika.
wynik = kursor.pobierz()
Na tym etapie możesz spróbować iterować wynik. Możesz dowolnie manipulować zawartością, wstawiać ją lub wprowadzać do arkuszy kalkulacyjnych, tabel HTML itp. Nie zapomnij o zawinięciu i wyczyszczeniu kodu po zakończeniu. Możesz to zrobić za pomocą try-except-block i dodając zdanie „finally”.
Podczas obsługi dużych zbiorów danych, relacyjnych lub innych, odczuwasz potrzebę posiadania podstawowych narzędzi do wykonywania zapytań dotyczących tabel, zwłaszcza gdy chcesz również manipulować wynikami. Taka transformacja danych jest łatwa do osiągnięcia za pomocą Pythona.
Dlatego na większości studiów podyplomowych znajomość tych technik jest częścią programu nauczania. Niektóre przykłady to Associate Diploma in Data Science (IIIT-Bangalore) i Global Master Certificate in Business Analytics (Michigan State University).
Zamówienie: pomysły na projekty Open Source w Pythonie
Wniosek
W tym samouczku dotyczącym bazy danych Pythona nauczyliśmy się łączyć relacyjną bazę danych, wykonywać zapytania i importować wyniki. Możesz zrobić znacznie więcej z Pythonem i dostosować swój kod do rzeczy, których pragniesz.
Mamy nadzieję, że ten przewodnik pomógł ci znaleźć trochę jasności i pobudził twoją ciekawość!
Ucz się kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Jak pobierasz dane z API za pomocą żądań Pythona?
Jeśli chcesz otrzymać dane z API, musisz wysłać żądanie z serwera, tak jak w przypadku interakcji z konwencjonalnymi witrynami internetowymi. Będziemy musieli użyć pakietu request, aby uzyskać dane z API za pomocą Pythona. W Pythonie Requests jest standardową biblioteką do tworzenia żądań HTTP. Ze względu na swoje abstrakcje jest naprawdę łatwy w użyciu, szczególnie podczas pracy z interfejsami API.
Kiedy używamy biblioteki requestów do uruchomienia żądania, otrzymujemy obiekt żądania, który zawiera dane, które chcemy wyodrębnić, a także kod statusu żądania. Kod statusu informuje nas o statusie żądania i jest częścią każdego wniosku, który składamy. W zależności od informacji, które zwracają, kody są podzielone na setki różnych wartości.
Jak połączyć SQLite z Pythonem?
a. Aby korzystać z SQLite, musimy zaimportować sqlite3.
b. Następnie za pomocą metody connect nawiąż połączenie i podaj nazwę bazy danych, do której chcesz uzyskać dostęp; jeśli plik o tej nazwie istnieje, zostanie otwarty. Python utworzy plik o podanej nazwie, jeśli jej nie określisz.
C. Następnie tworzony jest obiekt kursora, który może wysyłać polecenia SQL. Cursor to struktura kontrolna do przechodzenia i pobierania rekordów bazy danych. Kiedy mamy do czynienia z Pythonem, kursor jest naprawdę ważny. Obiekt kursora zostanie użyty do wykonania wszystkich poleceń.
D. Utwórz obiekt, a także wpisz w nim instrukcję SQL z komentarzami, aby utworzyć tabelę w bazie danych. Przykład: - sql_comm = instrukcja SQL.
mi. A uruchomienie polecenia to pestka. Wykonaj metodę kursora, przekazując jako argument nazwę polecenia sql. Zapisz listę poleceń jako zmienną sql_comm i uruchom je. Po wykonaniu wszystkich zadań zapisz zmiany w pliku, zatwierdzając je, a następnie odłącz.
Czy Python jest dobry dla baz danych?
Python jest szczególnie dobrze przystosowany do ustrukturyzowanych danych tabelarycznych, które można uzyskać za pomocą SQL, ale wymagają dodatkowej manipulacji, która byłaby trudna do wykonania za pomocą samego SQL.