mangoisme

[Python] 파이썬으로 구글 스프레드 시트 연동하기 본문

Python

[Python] 파이썬으로 구글 스프레드 시트 연동하기

맹고잼 2024. 9. 10. 17:00

파이썬 구글 스프레드 시트 연동

파이썬으로 구글 스프레드 시트를 연동하면 파이썬을 통해 구글 시트에 원하는 데이터를 적재할 수도 있고, 시트에 있는 데이터를 불러올 수도 있습니다.

초기 설정만 해두면 그 후부터는 편리하게 사용할 수 있기에 함께 연동하는 방법을 알아보도록 하겠습니다.


1. 구글 클라우드 플랫폼 프로젝트 생성

https://console.cloud.google.com/

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

위 구글 클라우드 플랫폼 링크를 통해 접속한 후 계정을 생성해줍니다.

 

서비스 약관에 동의한 후 계속하기를 눌러주면 아래와 같은 화면으로 넘어갑니다.

왼쪽 상단 프로젝트 선택 > 새 프로젝트를 클릭해서 프로젝트를 생성해주겠습니다.

 

프로젝트 이름은 자동으로 생성되고 원하는 이름으로 변경도 가능합니다.

위치는 필수값이 아니므로 입력하지 않고 만들어줘도 무관합니다.

 

 

 

2. 서비스 계정 생성하기

프로젝트 생성이 완료됐다면, 해당 프로젝트 내에 서비스 계정을 생성해줍니다.

IAM 및 관리자 > 서비스 계정을 들어간 후 서비스 계정 만들기를 클릭합니다.

원하는 서비스 계정 이름과 서비스 계정 ID를 설정하여 만들어 계속하고,

상황에 맞게 엑세스 권한을 선택해주면 됩니다.

이렇게 서비스 계정이 생성되었고, 해당 이메일은 복사해줍니다. 

 

 

 

3. 키 생성하기

위에서 생성했던 서비스 계정 이메일을 클릭하면 아래 화면으로 이동합니다.

여기서 > 키 추가 > 새 키 만들기를 클릭해줍니다.

JSON 파일로 키를 만들어주면 자동으로 JSON 파일이 저장됩니다.

이제 해당 키 파일을 사용해서 구글 스프레드 시트를 불러올 수 있습니다.

 

 

 

4. API 서비스 신청하기

구글 스프레드 시트 API를 사용하기 위해서 해당 구글 서비스를 신청해야 합니다.

API 및 서비스 > 라이브러리로 들어갑니다.

 

Google Sheets API 를 검색한 후 해당 API의 사용을 클릭합니다.

해당 API 사용자 인증 정보에 아까 생성해놓은 서비스 계정이 들어가 있는 것을 확인할 수 있습니다.

 

 

 

5. 구글 스프레드 시트에 권한 부여

연동하고 싶은 구글 스프레드 시트에 대하여 서비스 계정의 권한을 부여해주는 작업이 필요합니다.

구글 스프레드 시트에 들어가 공유를 클릭하고

생성해놓은 서비스 계정 이메일을 복사, 붙여넣기 하여 전송하면 권한 부여가 완료됩니다.

 


이제 모든 준비는 끝났습니다! 

아래 코드를 통해 파이썬과 구글 스프레드 시트의 연동이 잘 되었는지 확인해보겠습니다.

!pip install oauth2client
!pip install gspread
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds']
json = "다운받은 json 파일 경로"
credentials = ServiceAccountCredentials.from_json_keyfile_name(json, scope)
gc = gspread.authorize(credentials)
spreadsheet_url = '연동할 구글 스프레드 시트 URL'
doc = gc.open_by_url(spreadsheet_url)
worksheet = doc.worksheet('시트명')
worksheet.update('A1', 'test')

 

A1 셀에 test라는 문구가 정상적으로 출력된다면 문제 없이 연동이 잘 되었다고 볼 수 있습니다.

이렇게 파이썬을 통해 구글 스프레드 시트와 연동하여 데이터 적재 및 불러오는 작업을 진행하면 되겠습니다.