[리원아빠] 파이썬 구글 드라이브 스프레드시트 서비스 연동

2023. 2. 28. 11:10Python

반응형

 


파이썬 구글 드라이브 스프레드시트 서비스 연동하기



 

파이썬으론 MS의 Excel뿐만 아니라 

 

구글의 스프레드시트도 연동하여 사용할 수 있다.

 

이번 포스팅에서는 구글 스프레드시트를 파이썬으로 연동하는 방법에 대해 알아보자.

 

 

 

 

 

Google 클라우드 플랫폼

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

accounts.google.com

네이버 파파고 API를 사용하기 위해 어플리케이션을 등록한 것 처럼

 

구글 역시 API를 사용하기 위해서는 사용하겠다는 서비스를 신청하고

 

접속이 가능한 키를 받아야 한다.

 

위의 사이트로 들어가 프로젝트를 생성하고

 

서비스를 신청하고 키를 받아보자.

 

 

 

구글 계정에 로그인을 하고 위의 사이트를 방문하면

 

처음 방문사용자의 경우 위의 동의를 구하는 메시지를 확인 할 수 있다.

 

작성자는 필수 동의항목만 체크를 하고 계속하기를 진행했다.

 

 

 

미리 프로젝트가 있는 사람은 기존의 프로젝트를 이용해도 되고

 

작성자처럼 구글 클라우드 방문이 처음이라면 프로젝트를 생성해야 한다.

 

프로젝트 선택 버튼을 눌러 다시 새 프로젝트 버튼을 클릭하자.

 

 

 

새 프로젝트 버튼을 클릭해 새 프로젝트를 만들어주자.

 

필수 입력값인 프로젝트 이름은 자동으로 생성이 되지만 원하는 이름으로도 변경이 가능하다.

 

 

 

 

만들기 버튼을 누르면 10여초 정도 소요되고 새로운 프로젝트가 만들어진다.

 

프로젝트가 만들어지면 위의 이미지처럼 방금 만든 프로젝트가 자동으로 선택되고

 

이제 이 프로젝트에서 사용할 구글 서비스를 신청해야한다.

 

상단의 "API 및 서비스 사용 설정" 메뉴를 클릭하자.

 

 

 

우리가 신청해야할 서비스는 두가지이다.

 

구글 드라이브와 구글 시트 서비스를 각각 사용버튼을 눌러 신청한다.

 

 

 

 

사용 버튼을 누르면 위와 같은 화면으로 이동하게 되는데

 

구글 드라이브와 구글 시트 서비스 사용버튼을 먼저 다 클릭하자.

 

그리고 2개 서비스 신청이 완료되면 위의 "사용자 인증 정보" 버튼을 클릭한다.

 

이제 서비스 신청은 완료되었으니 그 서비스에 엑세스할 수 있는 권한에 대한 설정이다.

 

 

 

사용자 인증 정보 -> 서비스 계정 관리 -> 서비스 계정 만들기 버튼을 차례로 클릭한다.

 

 

 

이제 서비스를 사용할 계정에 대한 정보를 입력한다.

 

서비스 계정 ID 값만 필수로 입력을 하면된다.

 

값을 입력하고 "만들고 계속하기" 버튼을 클릭하면

 

해당 계정에 대한 세부적인 설정이 가능하고

 

권한부분에 읽기, 쓰기 권한등이 빠지지 않는지 잘 확인하자.

 

 

 

서비스 계정 만들기와 설정이 끝이 나면 위처럼 생성된 서비스 계정이 확인된다.

 

이제 마지막 단계인 해당 서비스 계정에 대한 json 키 파일을 생성하자.

 

위 이미지의 작업 메뉴 아래 있는 메뉴를 "키관리" 메뉴로 들어간다.

 

"키관리" 메뉴에 들어오면 "키 추가" 메뉴를 눌러 json 형태로 다운을 받도록 하자.

 

 

다운된 json 파일을 열어보면 "client_email" 이라는 항목을 확인 할 수 있다.

 

해당 필드에 적혀있는 값이 일종의 구글 아이디라 생각하면 쉽다.

 

 

그 다음 테스트용 구글 스프레드 시트를 하나 만들고 

 

테스트 값을 몇개 채워넣은 뒤 해당 스프레드 시트를 위단계에서 확인한 계정에 공유한다.

 

 

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)
sheet_url = '스프레드시트 URL'
doc = gc.open_by_url(sheet_url)
worksheet = doc.worksheet('시트명')
cell_data = worksheet.acell('값을가져올 셀이름').value
print(cell_data)

이제 마지막 단계이다.

 

gspread 모듈과 oauth2client 모듈을 pip를 통해 먼저 설치해준다.

 

그럼 이제 우리가 만들었던 구글 스프레드 시트를 읽을 수 있다.

 

json 변수에는 json 파일의 경로를 지정해주고

 

sheet_url 변수에는 자신이 만든 구글 시트 url을 주소를 지정해준다.

 

 

스프레드 시트의 b1 셀에 기입했던 값이 정상적으로 출력된다.

 

구글 스프레드 시트에 쓰기, 읽기등 보다 많은 기능은 차후에 알아보자.

 

그럼 끝.

 

반응형