본문 바로가기
Python/xlwings

xlwings QueryTable 사용법

by PySun 2024. 12. 11.
반응형

xlwings QueryTable: Excel에서 SQL 쿼리 실행하기

엑셀의 강력한 기능 중 하나는 외부 데이터베이스와의 연동입니다. 이를 통해 사용자는 SQL 쿼리를 직접 엑셀로 가져와 데이터를 손쉽게 분석하고 활용할 수 있습니다. xlwings 라이브러리를 통해 Excel에서는 QueryTable 객체를 사용하여 SQL 쿼리를 실행하고 그 결과를 시트에 표시하는 방법을 알아봅시다.

xlwings QueryTable 소개

QueryTable은 Excel에서 외부 소스로부터 데이터를 가져오는 데 매우 유용한 객체입니다. 이 객체를 통해 사용자는 SQL 쿼리를 작성하고 실행하여 필요한 데이터를 즉시 가져올 수 있습니다. 이 과정은 몇 가지 간단한 단계로 나눌 수 있습니다.

QueryTable 기본 구조

Excel 워크시트에 QueryTable을 추가하는 기본 구조는 다음과 같습니다:

import xlwings as xw

# Excel 애플리케이션 열기
wb = xw.Book()

# 워크시트 선택
ws = wb.sheets['Sheet1']

# QueryTable 추가
qt = ws.api.QueryTables.Add(Connection="ODBC;DSN=YourDSN;UID=YourUser;PWD=YourPassword", Destination=ws.range('A1'))
qt.CommandText = "SELECT * FROM YourTable"  # SQL 쿼리 작성
qt.Refresh()  # 데이터 새로 고침으로 쿼리 실행

매개변수:

  • Connection: ODBC 연결 문자열로 데이터베이스에 연결 정보를 포함합니다.
  • Destination: 데이터를 삽입할 엑셀 셀의 범위입니다.
  • CommandText: 실행할 SQL 쿼리입니다.

사용 예제

기본 예제

아래는 xlwings의 QueryTable을 사용하여 SQL 데이터베이스에서 데이터를 가져오는 기본 예제입니다.

import xlwings as xw

# Excel 애플리케이션 열기
wb = xw.Book()

# 워크시트 선택
ws = wb.sheets['Sheet1']

# QueryTable 추가
connection_str = "ODBC;DSN=YourDSN;UID=YourUser;PWD=YourPassword"
query = "SELECT * FROM Customers"

qt = ws.api.QueryTables.Add(Connection=connection_str, Destination=ws.range('A1'))
qt.CommandText = query
qt.Refresh()  # 데이터 반영

여러 쿼리 실행 예제

여러 개의 쿼리를 통해 다양한 데이터 세트를 가져오는 예제입니다.

import xlwings as xw

# Excel 애플리케이션 열기
wb = xw.Book()

# 첫 번째 워크시트
ws1 = wb.sheets['Sheet1']
query1 = "SELECT * FROM Orders"
qt1 = ws1.api.QueryTables.Add(Connection=connection_str, Destination=ws1.range('A1'))
qt1.CommandText = query1
qt1.Refresh()

# 두 번째 워크시트
ws2 = wb.sheets['Sheet2']
query2 = "SELECT * FROM Products"
qt2 = ws2.api.QueryTables.Add(Connection=connection_str, Destination=ws2.range('A1'))
qt2.CommandText = query2
qt2.Refresh()

결론

xlwings QueryTable을 사용함으로써 Excel과 데이터베이스를 매끄럽게 연결하여, SQL 쿼리를 통해 필요한 데이터를 보다 효율적으로 가져올 수 있습니다. 이를 통해 복잡한 데이터 작업을 간소화하고, 필요한 정보를 즉시 확인할 수 있습니다.

  • xlwings를 활용하여 Excel에서 강력한 데이터 관리 능력을 발휘해 보세요!
  • 지금 바로 QueryTable을 사용하여 데이터베이스와의 연계를 경험해 보세요!
반응형

'Python > xlwings' 카테고리의 다른 글

xlwings Formula 사용하기  (0) 2024.12.11
xlwings PivotTable의 활용법  (0) 2024.12.11
xlwings Slicer 소개  (0) 2024.12.11
xlwings ListObject의 활용  (0) 2024.12.11
xlwings Table 객체의 모든 것  (0) 2024.12.11