본문 바로가기
Python/xlwings

xlwings DB 목록 가져오기

by PySun 2024. 12. 13.
반응형

xlwings: Excel의 DB 목록 가져오기

파이썬의 xlwings 라이브러리는 Excel과의 상호작용을 한층 더 쉽게 만들어줍니다. 특히 데이터베이스(DB)와 연결된 데이터를 Excel로 가져오는 과정이 중요할 수 있는데, 이번 포스팅에서는 xlwings를 이용하여 DB 목록을 가져오는 방법을 안내하겠습니다.

xlwings를 통한 DB 목록 가져오기

xlwings를 사용하면 Excel에서 직접 파이썬을 실행하고, 다양한 데이터베이스와 연결하여 원하는 데이터를 쉽게 가져올 수 있습니다. 이를 통해 데이터 분석 및 보고서 작성이 간편해집니다.

설치

먼저, xlwings를 설치해야 합니다.

pip install xlwings

DB 목록 가져오기

DB에 연결하고 해당 목록을 가져오기 위해, 다음과 같은 함수가 필요합니다.

import xlwings as xw
import pandas as pd
import pyodbc  # DB 연결을 위한 라이브러리

def get_db_table_list(connection_string):
    # DB 연결 생성
    connection = pyodbc.connect(connection_string)
    
    # SQL 쿼리로 테이블 목록 가져오기
    query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE';"
    
    # 결과를 pandas DataFrame으로 변환
    table_list = pd.read_sql(query, connection)
    
    # 연결 종료
    connection.close()
    
    return table_list

# 연결 문자열 예시 (적절한 값으로 변경 필요)
connection_string = 'DRIVER={SQL Server};SERVER=서버이름;DATABASE=DB명;UID=사용자명;PWD=비밀번호'

# DB 테이블 목록 가져오기
table_list = get_db_table_list(connection_string)
print(table_list)

사용 예제

데이터베이스에 연결하여 테이블 목록을 가져오는 기본적인 예제를 확인해 보세요! 다음은 SQL Server에 연결하여 테이블 목록을 가져오는 코드입니다.

import xlwings as xw
import pandas as pd
import pyodbc  # DB 연결을 위한 라이브러리

# DB 연결 문자열
connection_string = 'DRIVER={SQL Server};SERVER=localhost;DATABASE=AdventureWorks;UID=sa;PWD=핸드폰번호' # 예시

# DB 목록 가져오기 함수
def fetch_db_tables(connection_str):
    conn = pyodbc.connect(connection_str)
    query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE';"
    tables = pd.read_sql(query, conn)
    conn.close()
    return tables

# 테이블 목록 호출
db_tables = fetch_db_tables(connection_string)
print("DB 테이블 목록은 다음과 같습니다:")
print(db_tables)

결론

이번 포스팅에서는 xlwings 라이브러리를 활용하여 Excel로 DB 목록을 가져오는 방법에 대해 알아보았습니다. 데이터 기반의 작업이 필요한 여러분에게 큰 도움이 될 것입니다. 직접 코드에 손을 대어 원하는 데이터 목록을 손쉽게 가져와 보세요!

  • xlwings를 통해 Excel과 DB의 연결을 구축하여 생산성을 한층 높이세요!
  • 지금 바로 fetch_db_tables 함수를 사용하여 데이터베이스의 테이블 목록을 Excel로 가져와 보세요!
반응형