본문 바로가기
Programming/Backend

[외부 연동] 엑셀(Excel) 파일을 ChatGPT API로 분석하는 방법(python)

by BitSense 2025. 3. 10.

 

1단계: 준비사항 및 환경설정

다음 패키지를 Python 환경에 설치합니다.

pip install pandas openpyxl openai
  • pandas: 엑셀 파일 데이터 처리
  • openpyxl: 엑셀 파일 읽기 지원
  • openai: ChatGPT API 호출을 위한 라이브러리

OpenAI의 API 키를 준비합니다.


2단계: 엑셀 파일 읽기 (pandas 활용)

아래 코드로 엑셀파일을 DataFrame 형태로 읽습니다.

import pandas as pd

# 엑셀 파일 로드 (파일명 및 경로는 본인의 파일명으로)
df = pd.read_excel("첨부파일.xlsx", sheet_name="Sheet1")

# 데이터 확인
print(df.head())
  • "첨부파일.xlsx" 및 "Sheet1"은 본인의 실제 파일명과 시트명으로 변경해 주세요.

3단계: 엑셀 데이터를 텍스트 형태로 변환하기

ChatGPT API에 전달할 수 있도록, DataFrame 데이터를 텍스트 형태로 변환합니다.

아래는 간단한 텍스트 변환 예시입니다:

# DataFrame을 텍스트로 변환 (예시)
text_data = df.to_string(index=False)

# 텍스트 확인
print(text_data)

만약 데이터가 너무 길다면 아래 방법으로 필요한 부분만 선택적으로 보내거나 나누어 전송할 수 있습니다.

예시 (상위 100행만):

text_data_short = df.head(100).to_string(index=False)

4단계: ChatGPT API에 데이터 전송 및 분석 요청하기

아래는 ChatGPT API로 데이터 분석을 요청하는 예시입니다.

import openai

# API Key 설정
openai.api_key = "YOUR_API_KEY"

# 메시지 정의
messages = [
    {"role": "system", "content": "당신은 엑셀 데이터를 분석하고 요약하는 전문가입니다."},
    {"role": "user", "content": f"다음 엑셀 데이터를 분석하고 요약해주세요.\n\n{text_data}"}
]

# ChatGPT API 호출
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",  # 또는 "gpt-4-turbo" (성능에 따라 선택)
    messages=messages,
    temperature=0.2
)

# 분석 결과 출력
analysis_result = response.choices[0].message.content
print(analysis_result)
  • 실제 API Key를 "YOUR_API_KEY" 자리에 입력해야 합니다.
  • 분석이 잘 되지 않을 경우, 프롬프트를 보다 구체적으로 작성하면 좋습니다.

5단계: 분석 결과 저장하기 (선택적)

결과를 파일로 저장하는 예시입니다:

# 분석 결과를 파일로 저장
with open("analysis_result.txt", "w", encoding="utf-8") as f:
    f.write(analysis_result)

추가 팁 및 주의사항

  • 데이터 크기 제한
    • GPT 모델에는 최대 토큰 제한이 있으므로, 매우 긴 데이터는 나누어 분석해야 합니다.
    • 권장 데이터 크기는 한 번 호출에 약 2000~3000 단어 이하입니다.
  • 비용 관리
    • API 사용량에 따라 비용이 발생하므로, 텍스트를 필요 최소화하여 비용을 관리하세요.
  • 프롬프트 세부화
    • 원하는 분석 결과를 얻으려면, 프롬프트를 명확히 작성하는 것이 중요합니다.
    • 예시 프롬프트:
      "다음 데이터는 매출 데이터입니다. 월별 추세, 이상치, 인사이트를 요약해주세요."

이 방법으로 엑셀 데이터를 효율적이고 정확하게 분석할 수 있습니다.

반응형