웹사이트 검색

Pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 변환하는 방법은 무엇입니까?


Python은 데이터 분석, 머신러닝, 기타 과학 애플리케이션에 널리 사용되는 강력하고 다재다능한 프로그래밍 언어입니다. 인기 있는 이유 중 하나는 데이터 조작과 분석을 쉽게 만들어주는 여러 가지 강력한 라이브러리와 프레임워크를 사용할 수 있다는 점입니다. 그 중에서 Pandas는 Python에서 표 형식의 데이터를 작업하는 데 널리 사용되는 라이브러리입니다.

이 튜토리얼에서는 pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 변환하는 방법을 살펴보겠습니다. Python에서 데이터로 작업하는 경우 SQL 데이터베이스에서 데이터를 추출하고 Python에서 조작해야 하는 상황에 직면할 가능성이 높습니다. 이러한 경우 쿼리 결과를 Python을 사용하여 쉽게 조작할 수 있는 형식으로 변환해야 합니다. 이것이 바로 pypyodbc와 Pandas가 필요한 곳입니다. 기사의 다음 섹션에서는 pypyodbc를 사용하여 환경을 설정하고 SQL 데이터베이스에 연결하는 방법을 설명합니다.

pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 변환하는 방법은 무엇입니까?

SQL 쿼리 결과를 Pandas 데이터 프레임으로 변환하기 전에 필요한 라이브러리를 설치해야 합니다. 우리는 SQL Server, Oracle 및 MySQL을 포함한 ODBC 데이터베이스와 상호 작용하기 위한 인터페이스를 제공하는 pypyodbc 라이브러리를 사용할 것입니다. 시작하려면 pypyodbc가 설치되어 있는지 확인하세요. 터미널이나 명령 프롬프트에서 다음 명령을 실행하여 설치할 수 있습니다.

pip install pypyodbc

pypyodbc가 설치되면 이를 Python 스크립트로 가져와야 합니다. pypyodbc 외에도 나중에 쿼리 결과를 Pandas Dataframe으로 변환하는 데 사용할 Pandas 라이브러리도 가져와야 합니다. 다음 줄을 사용하여 Python 스크립트 시작 부분에서 라이브러리를 가져옵니다.

import pypyodbc
import pandas as pd

이제 필요한 라이브러리를 가져왔으므로 pypyodbc를 사용하여 SQL 데이터베이스에 대한 연결을 설정해 보겠습니다. 특정 SQL 데이터베이스에 연결하려면 서버 이름, 데이터베이스 이름, 사용자 이름 및 비밀번호와 같은 연결 세부 정보를 제공해야 합니다. 연결 문자열은 일반적으로 이러한 세부 정보로 구성되며 사용 중인 데이터베이스에 따라 달라질 수 있습니다.

다음은 pypyodbc를 사용하여 SQL Server 데이터베이스에 연결을 설정하는 예입니다.

# Establish connection to SQL database using pypyodbc
conn_str = "Driver={SQL Server};Server=server_name;Database=db_name;UID=username;PWD=password"
connection = pypyodbc.connect(conn_str)

`server_name`, `db_name`, `username` 및 `password`를 실제 연결 세부정보로 바꿔야 합니다. 그러면 pypyodbc를 사용하여 SQL 데이터베이스에 대한 연결이 설정되고 이제 SQL 쿼리를 실행하고 데이터를 검색할 수 있습니다.

SQL 쿼리 결과를 Pandas Dataframe으로 변환

이제 SQL 데이터베이스에 대한 연결을 설정하고 pypyodbc를 사용하여 SQL 쿼리를 실행했으므로 쿼리 결과를 Pandas Dataframe으로 변환하는 방법을 살펴보겠습니다. 다음은 pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 변환하는 방법에 대한 단계별 가이드입니다.

SQL 쿼리 실행

SQL 데이터베이스에서 데이터를 검색하려면 먼저 SQL 쿼리를 실행해야 합니다. 이전에 설정한 연결 개체를 사용하여 쿼리를 실행할 수 있습니다. 다음은 SQL 쿼리를 실행하는 예입니다.

# Execute the SQL query
cursor = connection.cursor()
query = "SELECT * FROM table_name"
cursor.execute(query)

table_name을 데이터를 검색하려는 테이블의 이름으로 바꿉니다. 커서 개체를 사용하면 SQL 데이터베이스와 상호 작용할 수 있습니다.

쿼리 결과 가져오기

SQL 쿼리를 실행한 후 결과를 가져와야 합니다. 커서 개체의 fetchall() 메서드를 사용하여 쿼리에서 반환된 모든 행을 검색할 수 있습니다. 예는 다음과 같습니다.

예

# Execute the SQL query
rows = cursor.fetchall()

# Print the query results
print(rows)

산출

[(1, 'Prince', 'Yadav', 26, 50000),
 (2, 'Mukul', 'Latiyan', 25, 60000),
 (3, 'Rohit', 'Shokeen', 24, 55000),
 (4, 'Divyang', 'Pal', 30, 65000),
 (5, 'Paras', 'Wadhwa', 35, 70000)]

위 출력에서 볼 수 있듯이 코드는 "employees" 테이블에서 모든 행을 가져와서 행 변수에 저장합니다. print(rows) 문은 쿼리 결과를 표시하며 각 행을 목록 내의 튜플로 표시합니다. 각 튜플은 쿼리에 지정된 순서대로 각 열의 값을 포함하는 SQL 쿼리 결과 집합의 행을 나타냅니다.

Pandas 데이터프레임으로 변환

이제 쿼리 결과를 Pandas Dataframe으로 변환할 차례입니다. 쿼리 결과를 pd.DataFrame() 생성자에 전달하여 이를 달성할 수 있습니다. 동일한 결과를 얻으려면 아래 코드를 고려하세요.

예

# Convert to Pandas Dataframe
df = pd.DataFrame(rows)

# Display the Pandas Dataframe
print(df)

이제 df 변수는 Pandas Dataframe 형식으로 쿼리 결과를 보유합니다. 데이터 프레임의 각 열은 SQL 쿼리 결과 집합의 열에 해당합니다.

산출

위 코드의 출력은 다음과 같습니다.

   EmployeeID  FirstName  LastName  Age  Salary
0           1     Prince     Yadav   26   50000
1           2      Mukul   Latiyan   25   60000
2           3      Rohit   Shokeen   24   55000
3           4    Divyang       Pal   30   65000
4           5      Paras    Wadhwa   35   70000

위 출력에서 볼 수 있듯이 pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 성공적으로 변환했습니다. 이제 Pandas 라이브러리를 사용하여 검색된 데이터에 대해 다양한 데이터 조작 및 분석 작업을 수행할 수 있습니다.

결론

이 튜토리얼에서는 Python에서 pypyodbc를 사용하여 SQL 쿼리 결과를 Pandas Dataframe으로 변환하는 프로세스를 살펴보았습니다. 우리는 환경을 설정하고, pypyodbc를 사용하여 SQL 데이터베이스에 연결하고, SQL 쿼리를 실행하는 것으로 시작했습니다. 그런 다음 쿼리 결과를 Pandas Dataframe으로 변환하는 단계별 프로세스를 살펴보았습니다. 변환을 쉽게 이해하고 구현할 수 있도록 각 방법에 대한 예제를 제공했습니다.

관련기사: