본문 바로가기
카테고리 없음

파이썬(Pandas)으로 구글 시트 연동하기: 데이터 불러오기 & 수정 자동화 완벽 가이드 (API 설정부터 코드까지)

by 디저트사커 2026. 1. 5.
반응형

구글 스프레드시트는 협업에 최적화된 도구이지만, 데이터 양이 수만 행을 넘어가거나 복잡한 통계 분석이 필요할 때는 브라우저가 느려지는 한계가 있습니다. 반면, 파이썬(Python)과 데이터 분석 라이브러리인 판다스(Pandas)는 대용량 데이터 처리에 강력합니다.

"이 둘을 합치면 어떨까요?" 구글 시트의 접근성과 파이썬의 자동화/분석 능력을 결합하면, 매일 반복되는 엑셀 업무를 버튼 하나로 끝내는 마법 같은 시스템을 구축할 수 있습니다. 오늘 포스팅에서는 구글 클라우드 API 설정부터, 파이썬으로 시트 데이터를 읽고 쓰는 전체 과정을 코딩 초보자도 따라 할 수 있도록 상세하게 알려드립니다. 이제 엑셀 막일에서 탈출하여 진정한 데이터 분석가로 거듭나보세요.

1. 사전 준비: 구글 API 키 발급받기 (가장 중요 ⭐)

파이썬이 내 구글 시트에 접속하려면 '출입증'이 필요합니다. 구글 클라우드 플랫폼(GCP)에서 이 출입증을 만드는 과정이 조금 복잡할 수 있으니 천천히 따라오세요.

🔑 API 설정 및 JSON 키 다운로드

  1. Google Cloud Console에 접속하여 새 프로젝트를 생성합니다.
  2. 좌측 메뉴 [API 및 서비스] > [라이브러리]로 이동합니다.
  3. 검색창에 'Google Drive API''Google Sheets API'를 각각 검색하여 [사용] 버튼을 누릅니다. (둘 다 켜야 합니다!)
  4. [사용자 인증 정보] > [사용자 인증 정보 만들기] > [서비스 계정]을 선택하여 계정을 생성합니다.
  5. 생성된 서비스 계정을 클릭하고 [키] 탭 > [키 추가] > [새 키 만들기] > [JSON]을 선택합니다.
  6. 다운로드된 JSON 파일의 이름을 key.json으로 바꾸고, 파이썬 파일이 있는 폴더에 넣어둡니다.
⚠️ 필수 체크: 시트 공유 설정
방금 다운로드한 JSON 파일을 메모장으로 열어보세요. client_email이라는 항목 옆에 있는 이메일 주소(xxxx@xxxx.iam.gserviceaccount.com)를 복사합니다.
그리고 작업하려는 구글 시트의 [공유] 버튼을 누르고, 이 이메일을 '편집자'로 추가해야 파이썬이 접속할 수 있습니다.

2. 환경 설정: 파이썬 라이브러리 설치

파이썬에서 구글 시트를 제어하기 위해 필요한 라이브러리들을 설치합니다. 터미널(또는 CMD)에 아래 명령어를 입력하세요.

pip install gspread oauth2client pandas
  • gspread: 구글 시트 API를 쉽게 쓰게 해주는 라이브러리
  • oauth2client: 구글 인증을 위한 라이브러리
  • pandas: 데이터를 표 형태로 다루기 위한 필수 라이브러리

3. 코드 작성 ①: 구글 시트 데이터 불러오기 (Read)

이제 본격적으로 코드를 작성해 보겠습니다. 시트에 있는 데이터를 파이썬의 DataFrame으로 가져오는 코드입니다.

import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pandas as pd

# 1. 인증 설정 (JSON 키 파일 연동)
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("key.json", scope)
client = gspread.authorize(creds)

# 2. 구글 시트 열기 (시트 이름으로 찾기)
spreadsheet = client.open("내_구글시트_이름") # 실제 시트 제목 입력
sheet = spreadsheet.sheet1 # 첫 번째 시트 선택

# 3. 데이터 가져와서 Pandas DataFrame으로 변환
data = sheet.get_all_records()
df = pd.DataFrame(data)

# 4. 결과 확인
print(df.head())
        

위 코드를 실행했을 때, 터미널에 엑셀 표와 같은 데이터가 출력된다면 성공입니다! 이제 이 df(데이터프레임)를 활용해 파이썬에서 복잡한 연산이나 분석을 마음껏 수행할 수 있습니다.

4. 코드 작성 ②: 분석한 데이터 다시 시트에 쓰기 (Write)

데이터를 분석만 하고 끝나면 아쉽겠죠? 파이썬에서 가공한 결과(예: 환율 계산, 전처리 완료된 데이터)를 다시 구글 시트에 업데이트하는 방법입니다.

# 예시: '비고' 열을 새로 만들고 '확인완료'라고 채우기
df['비고'] = '확인완료'

# 1. 데이터프레임을 리스트 형태로 변환 (gspread는 리스트만 받음)
# 헤더(제목) 포함
data_to_upload = [df.columns.values.tolist()] + df.values.tolist()

# 2. 시트 초기화 (기존 내용 지우기)
sheet.clear()

# 3. 데이터 업데이트 (A1 셀부터 채워넣기)
sheet.update("A1", data_to_upload)

print("구글 시트 업데이트 완료!")
        

주의할 점: gspread 라이브러리는 판다스 데이터프레임을 바로 인식하지 못합니다. 따라서. values.tolist()를 이용해 리스트 형태로 변환해 주는 과정이 필수입니다.



마무리하며: 자동화의 세계로 오신 것을 환영합니다

이제 여러분은 구글 시트의 접근성파이썬의 강력함을 모두 손에 넣었습니다. 이 코드를 응용하면 매일 아침 주식 정보를 크롤링해서 시트에 기록하거나, 수천 명의 고객 데이터를 분석해 자동으로 리포트를 발행하는 것도 가능합니다.

처음 API 설정 단계가 조금 까다로울 수 있지만, 딱 한 번만 해두면 평생 써먹을 수 있는 강력한 무기가 됩니다. 지금 바로 파이썬을 켜고 여러분만의 자동화 봇을 만들어보세요.

혹시 코딩이 너무 어렵게 느껴지시나요? 그렇다면 코딩 없이도 데이터를 시각화할 수 있는 '스파크라인 함수로 셀 안에 미니 차트 그리기' 포스팅을 먼저 참고해 보시는 것도 좋습니다.

반응형