IT,참고자료

파이썬에서 구글 스프레드 시트 연동 준비

unius 2023. 1. 3. 18:34
728x90
반응형

나는 2022년 한 해 동안 아이패드의 기본앱인 넘버스로 자산관리를 하고 있다가 2022년이 지나기 직전에 구글 스프레드 시트를 기반으로 Appsheet 를 통해 모바일 앱으로 만들었다. 그리고 2023년 부터는 내가 직접 제작한 자산관리 앱을 사용하여 자산관리를 시작했다.

그리고 구글 스프레드 시트의 웹 게시 기능을 이용해서 나의 자산의 포트폴리오 현황과 포트폴리오 수익률을 실시간으로 공개되도록 공지사항에 게시하였다.


데이터의 실시간 처리를 위해서 주식시세는 google finance 함수를 사용하였고 펀드 기준가 정보는 importxml 함수를 사용하여 웹에서 크롤링하도록 하였다. 그리고 퀀트전략과 연동된 2개 계좌의 평가액은 하루에 한번 주식시장의 장종료 후에 키움OpenAPI를 사용하여 계좌의 잔고와 평가금액을 읽어오도록 파이썬으로 구현하였다.

오늘은 파이썬에 구글 스프레드 시트에 접근하는 절차에 대해 소개하고자 한다. 먼저 파이썬에 구글 스프레드 시트에 접근하기 위해서는 파이썬에서 gspread, oauth2client 2개의 패키지를 설치하여야 한다.

pip install gspread
pip install --upgrade oauth2client

다음에 할 일은 구글 클라우드 플랫폼 콘솔에서 사용할 구글 API의 사용설정을 하고 서비스 계정 생성과 비공개 키를 만드는 사용자 인증 정보 생성 과정으로 진행된다. 서비스 계정은 구글 스프레드 시트를 공유하기 위한 이메일 주소이고 파이썬에서 해당 이메일 주소로 구글 스프시트에 접근할 때 서비스 계정을 인증하기 위한 비공개 키이다.

 

먼저 API 및 서비스 사용 설정을 클릭하여 Google Drive API와 Google Sheets API를 찾아서 사용 버튼을 클릭하여 신청한다. API 사용신청을 완료한 이후에는 파이썬에서 사용할 사용자 인증 정보를 만들면 기본적인 준비가 끝난다.

 

위와 같이 서비스 계정 이름만 입력하면 계정ID와 이메일 주소가 자동으로 생성된다. 하단의 선택사항은 특별히 건드리지 않아도 되고 다음 화면에서 접근 권한으로 구글 스프레드 시트 편집을 위한 편집자 또는 소유자 권한을 부여하여 서비스 계정을 생성한다.

 

그리고 여기서 만든 서비스 계정을 구글 스프레드 시트에서 공유해주는 작업을 수행한다. 구글 스프레드 시트의 파일 메뉴에서 공유 > 다른 사용자와 공유를 선택하여 새로 생성한 서비스 계정을 입력해주면 된다.
이제 마지막 과정만 남았다. 바로 파이썬에서 서비스 계정을 통해 구글 스프레드 시트에 접근할 때 사용하는 비공개 키만 생성하면 된다.

 

생성된 서비스 계정을 클릭하고 세부 정보화면으로 이동해서 키 추가를 눌러 JSON 파일 형식으로 비공개 키를 생성하고 파일을 다운로드한다. 여기서 생성한 비공개 키 파일은 나중에 파이썬 코드에서 사용하므로 잘 보관하고 있어야 한다. 위와 같은 과정을 통해 파이썬에서 구글 스프레드 시트에 접근할 준비가 되었다. 다음 글에서는 서비스 계정과 비공개 키를 사용하여 파이썬에서 구글 스프레드 시트에 접근해서 수정하는 간단한 코드를 살펴보도록 하겠다.

728x90
반응형