Python의 데이터베이스에서 데이터를 가져오는 방법은 무엇입니까? Python을 사용하여 데이터 가져오기

게시 됨: 2021-03-09

데이터 분석은 오늘날의 기술 주도 작업 환경에서 젊은 졸업생, 엔지니어 및 관리자에게 필수적인 기술입니다. 이 기사에서는 파이썬으로 데이터베이스에서 데이터를 가져오는 방법을 다루고 몇 가지 기본 개념을 빠르게 익힐 수 있습니다.

목차

Python 데이터베이스 를 사용한 데이터 추출

데이터 추출에는 다양한 소스에서 데이터를 검색하고 때로는 추가로 처리하고 추가 분석을 위해 리포지토리로 마이그레이션하는 작업이 수반됩니다. 따라서 프로세스에서 일종의 데이터 변환이 발생합니다. 그리고 파이썬은 그러한 데이터 과학 작업을 위한 최고의 프로그래밍 언어 중 하나입니다.범용 및 스크립팅 언어의 사용자는 전 세계적으로 820만 명 입니다.

다음 가이드에서는 오픈 소스 관계형 데이터베이스 시스템인 PostgreSQL을 사용한 추출 방법에 대해 설명합니다. 결과 집합을 중괄호 {}로 묶인 JSON 객체로 반환하는 ROW_TO_JSON 함수를 제공합니다. JSON 데이터 유형은 쿼리 결과를 보다 편리하게 조작하는 데 도움이 됩니다. 그러나 시작하기 전에 psycopg2-binary와 같은 가상 환경을 설치했는지 확인하십시오.

파이썬 데이터베이스 기초

NFL(American National Football League)의 PostgreSQL 데이터베이스가 있다고 가정합니다. 여기에는 선수, 코치 및 팀 테이블에 대한 정보가 포함됩니다. 또한 저장된 데이터에 대한 단서를 얻으려면 다음 세부 정보에 유의하십시오.

  • 선수 데이터 테이블에는 기본 키인 athelete_id, 선수의 이름과 성, 유니폼 번호, 체중(kg), 키(m), 출신 국가와 같은 세부 정보가 들어 있습니다. 또한 각 선수의 팀을 나타내는 외래 키인 team_id도 보유합니다.
  • Coach의 데이터 테이블에는 이름과 성, 그리고 team_id(팀의 테이블 필드를 참조하는 외래 키)와 함께 Coach_id(기본 키)가 있습니다.
  • 마지막으로, 이름, 컨퍼런스, 순위, 총 승패('홈'과 '어웨이'로 분기됨)로 모든 축구 팀을 설명하는 팀' 테이블이 있습니다. 여기에서 기본 키는 위의 표에서 참조되는 team_id입니다.

이제 데이터 세트에 익숙해졌으므로 팀 목록을 검색하는 SQL 쿼리를 작성하는 방법을 살펴보겠습니다. 예를 들어, 회의 및 순위에 따라 정렬된 축구 팀이 필요합니다. 또한 코치의 이름과 함께 각 팀의 선수 또는 선수 수를 추출하려고 합니다. 홈과 어웨이 모두에서 팀의 승패 수를 알고 싶을 수도 있습니다.

이 프로세스를 시작하려면 아래 단계를 따르세요.

고르다

f.이름,

에프시티,

f.컨퍼런스,

f.conference_rank,

COUNT(a.player_id) AS number_of_athletes,

CONCAT(c.first_name, ' ', c.last_name) AS 코치,

f.home_wins,

f.away_wins

FROM 선수, 팀 f, 코치 c

어디 a.team_id = f.team_id

AND 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.conference, f.conference_rank

그런 다음 앞에서 언급한 JSON 함수(ROW_TO_JSON) 내에서 쿼리를 왜곡할 수 있습니다. 이렇게 하면 현재 디렉토리의 query.sql이라는 파일에 데이터가 저장됩니다. 이제 아래에 제공된 단계를 계속하십시오.

SELECT ROW_TO_JSON(팀 정보) FROM(

고르다

f.이름,

에프시티,

f.컨퍼런스,

f.conference_rank,

COUNT(a.athelete_id)AS number_of_atheletes,

CONCAT(c.first_name, ' ', c.last_name) AS 코치,

f.home_wins,

f.away_wins

FROM 선수, 팀 f, 코치 c

어디 a.team_id = f.team_id

AND 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.conference, f.conference_rank

) AS팀 정보

각 행이 파이썬 사전의 구조를 가지고 있음을 관찰할 수 있습니다. 키는 쿼리에서 반환된 필드 이름일 뿐입니다.

또한 환경 변수가 눈에 띄게 노출되는 것을 방지하기 위해 초기화 파일에 일부 변경 사항을 적용할 수 있습니다. 필요에 따라 다음 방법 중 하나를 선택합니다.

  • Windows의 경우: 제어판 → 시스템 → 고급 시스템 설정 → 고급 탭 → 환경 변수.
  • 유닉스 계열 환경의 경우: 초기화 파일에 사용자 이름과 비밀번호에 대한 두 줄을 추가합니다.

이것으로 파이썬 코드를 작성할 준비가 되었습니다. 처음에는 오류를 방지하기 위해 일부 모듈과 함수를 가져올 것입니다. 이러한 진술은 다음을 달성하는 데 도움이 될 수 있습니다.

수입 OS

p로 psycopg2 가져오기

psycopg2에서 가져오기 오류

그런 다음 query.sql의 내용을 로드하여 연결을 인스턴스화합니다. 열기 및 읽기 명령을 사용하여 SQL 데이터베이스 파일을 열고 데이터베이스 사용자, 암호, 호스트 및 포트 번호를 지정하여 연결 기능을 사용하여 NFL 데이터베이스와 연결합니다.

또한 읽기: GitHub의 Python 프로젝트

Python의 데이터베이스에서 데이터를 가져오는 방법은 무엇입니까?

데이터베이스 연결이 설정되면 쿼리 실행을 진행할 수 있습니다. '커서'라는 제어 구조를 사용해야 합니다. "cursor = conn.cursor()"를 작성하고 이어서 "cursor.execute(query)"를 작성하는 것만 큼 쉽습니다. 그러면 결과에는 사전 형식의 튜플 목록(1개 요소)이 포함됩니다.

결과 = cursor.fetchall()

이 단계에서 결과에 대해 반복을 시도할 수 있습니다. 내용을 원하는 대로 조작하고 스프레드시트, HTML 테이블 등에 삽입하거나 공급할 수 있습니다. 완료하는 동안 코드를 래핑하고 정리하는 것을 잊지 마십시오. try-except-block을 사용하고 'finally' 문장을 추가하면 됩니다.

관계형이든 아니든 큰 데이터 세트를 처리할 때 특히 결과를 조작하려는 경우 테이블을 쿼리하기 위한 몇 가지 기본 도구가 필요하다고 느낍니다. 이러한 데이터 변환은 파이썬으로 쉽게 달성할 수 있습니다.

따라서 대부분의 대학원 연구 프로그램에는 이러한 기술에 대한 지식이 커리큘럼의 일부로 포함됩니다. 몇 가지 예로는 데이터 과학 준학사 학위 (IIIT-Bangalore) 및 비즈니스 분석 글로벌 마스터 인증서 (Michigan State University)가 있습니다.

확인: Python 오픈 소스 프로젝트 아이디어

결론

파이썬 데이터베이스 튜토리얼에서는 관계형 데이터베이스를 연결하고 쿼리를 실행하고 결과를 가져오는 방법을 배웠습니다. 파이썬으로 훨씬 더 많은 일을 할 수 있고 원하는 일을 하도록 코드를 조정할 수 있습니다.

이 가이드가 명확성을 찾고 호기심을 시작하는 데 도움이 되었기를 바랍니다!

세계 최고의 대학에서 데이터 과학 과정을 배우십시오. 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

Python 요청을 사용하여 API에서 데이터를 가져오는 방법은 무엇입니까?

API에서 데이터를 수신하려면 기존 웹 사이트와 상호 작용할 때와 마찬가지로 서버에서 요청해야 합니다. Python을 사용하여 API에서 데이터를 가져오려면 요청 패키지를 사용해야 합니다. Python에서 Requests는 HTTP 요청을 만들기 위한 표준 라이브러리입니다. 추상화로 인해 특히 API로 작업할 때 사용하기가 정말 쉽습니다.
요청 라이브러리를 사용하여 요청을 실행할 때 추출하려는 데이터와 요청 상태 코드가 포함된 요청 객체를 얻습니다. 상태 코드는 요청 상태를 알려주며 우리가 만드는 모든 요청의 일부입니다. 그들이 반환하는 정보에 따라 코드는 수백 개의 다른 값으로 나뉩니다.

SQLite를 Python과 연결하는 방법은 무엇입니까?

ㅏ. SQLite를 사용하려면 sqlite3를 가져와야 합니다.
비. 그런 다음 연결 방법을 사용하여 연결하고 액세스하려는 데이터베이스의 이름을 제공하십시오. 해당 이름의 파일이 있으면 파일이 열립니다. 지정하지 않으면 Python은 제공된 이름으로 파일을 생성합니다.
씨. 그런 다음 SQL 명령을 보낼 수 있는 커서 개체가 생성됩니다. 커서는 데이터베이스 레코드를 탐색하고 검색하기 위한 제어 구조입니다. 파이썬을 다룰 때 커서는 정말 중요합니다. 커서 개체는 모든 명령을 실행하는 데 사용됩니다.
디. 객체를 생성하고 데이터베이스에 테이블을 생성하기 위해 주석과 함께 SQL 문을 작성합니다. 예: - sql_comm = SQL 문.
이자형. 그리고 명령을 실행하는 것은 산들 바람입니다. sql 명령의 이름을 인수로 전달하여 cursor 메서드를 실행합니다. 명령 목록을 sql_comm 변수로 저장하고 실행합니다. 모든 작업을 완료한 후 수정 사항을 커밋하여 파일에 저장한 다음 연결을 끊습니다.

파이썬은 데이터베이스에 좋은가요?

Python은 SQL로 얻을 수 있는 구조화된 테이블 형식 데이터에 특히 적합하지만 SQL만으로는 달성하기 어려운 추가 조작이 필요합니다.