728x90
반응형
목차
얼마 전 데이터 크롤링 이후
Python에서 CSV 파일로 결과를 저장했는데,
내 노트북에 Office류가
인증이 되어있지 않은 것을 확인했다 ㅎㅎ
노트북에서 Office 잘 안 쓰는데
결과를 보자고 돈을 지불하자니
애매하여 구글 드라이브의 구글시트를
활용하기로...
오랜만에 또 연동하려니
생각이 잘 안 나서 이번에는 기록으로 남겨둔다!
사전 준비
- Google Cloud 내 프로젝트 계정이 있을 경우ㅎ
- python ↔ Google Drive/Sheet 연동을 위한 신청인증키 발급 단계
- 인증키 생성 및 다운로드
- IAM & Admin에서 service account 생성
- 생성한 account의 Key(json파일)를 다운로드하여 내 프로젝트(workspace)에 위치
- 구글 시트 생성 후 공유자에 service account 추가
- 우측에 공유 버튼 클릭
- 서비스 account의 email 주소 추가
Python 필요 라이브러리 설치
- 필요 라이브러리는 3가지, gspread, 인증라이브러리, 그리고 구글시트의 데이터프레임인식 라이브러리
pip install gspread
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install gspread-dataframe
Worksheet - Data.Frame으로 읽어오기
- Data.Frame로 읽어오기 위해서 첫째로 인증 및 데이터가 있는 URL 주소 입력
- 구글 시트의 데이터를 데이터 프레임으로 읽어오기 위한 함수로는 get_as_dataframe
# Google Drive - googlesheet 인증
scope = [
'https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive',
]
json_file_name = '발급받은 인증키가 담긴 json 파일 명'
credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file_name, scope)
gc = gspread.authorize(credentials)
spreadsheet_url = '작성하려는 구글 시트의 URL'
# 스프레스시트 문서 가져오기
doc = gc.open_by_url(spreadsheet_url)
# 기준정보 load
worksheet = doc.worksheet('생성할 워크시트 명')
stockcode = get_as_dataframe(worksheet=worksheet)
Data.Frame을 Worksheet으로 내보내기
- 데이터 프레임을 워크시트로 내보내기 위한 위한 함수로는 set_as_dataframe 함수를 활용하면 된다.
- 때로 숫자코드가 앞에 00이 붙거나 한 경우, 문자로 인식시킬 필요가 있는데,
그럴 경우, string_escaping 옵션을 'full'로 지정해 주면 된다!
# 시트 선택하기
worksheet1 = doc.worksheet('시트1')
# write to dataframe
worksheet1.clear()
set_with_dataframe(worksheet=worksheet1, dataframe=final_all_result,
include_index=False, include_column_header=True,
resize=True, string_escaping='full')
* 참조 글
Welcome to gspread-dataframe’s documentation! — gspread-dataframe documentation
Parameters: worksheet – the gspread worksheet to set with content of DataFrame. dataframe – the DataFrame. row – Row at which to start writing the DataFrame. Default is 1. col – Column at which to start writing the DataFrame. Default is 1. include_
gspread-dataframe.readthedocs.io
'배움 로그 > data science' 카테고리의 다른 글
KRX 업종 분류 crawling error 해결 (2) | 2023.12.07 |
---|---|
python 패키지 설치 목록 requirements.txt로 저장하기 (0) | 2023.10.19 |
Python 3.11 32bit - Pandas 설치 Fail 오류 해결하기 (2) | 2023.03.16 |
Python 기본 설치 라이브러리 확인하는 법 (5) | 2023.01.27 |
VS Code로 키움 증권 API 활용하여 금융 데이터 가져오기 (1/2) (0) | 2023.01.21 |
댓글