pandas.Dataframe에서 스프레드 시트로 쉽게 반영되는 gspread-dataframe 라이브러리

gspread-dataframe 라이브러리에 대해서 일본어의 문헌이 적다고 느꼈으므로 정리한다.

하고 싶은 일



파이썬에서 google 스프레드 시트를 조작하고 싶습니다. 일단 스프레드시트의 데이터를 pandas의 Dataframe에 넣은 다음 편집하여 원본 스프레드시트에 반영하고 싶습니다! 이미지는 다음



해봤어



우선, 읽고 쓰기의 초기 설정. 이미지와 함께 이해하기 쉬운 사이트 이 있었다. 스플릿 시트나 파이썬의 초기 설정은 어려움 없이 끝났다.

그리고 실제로 복사하여 편집하여 스프레드 시트에 반영시키는 작업을 수행했습니다.
매우 정중한 사이트 가 있어 참고로 해 보았다. 스프레드 시트에서 복사하는 작업은 거기까지 힘들지 않을 것 같다.

그러나 다시 원래 스프레드 시트를 복사하는 경우 모든 셀에 대해 cell_list를 저장하고 반영합니다. 이 작업이 조금 복잡해 보인다.

마지길레판다스

그래서 gspread-dataframe 라이브러리



잘 해주는 라이브러리가 있는지 찾았는데, gspread-dataframe 이 있었다. 설치는 간단합니다.
pip3 install gspread-dataframe

예를 들어, 이러한 스프레드 시트가 있다고 가정합니다.



gspread-dataframe을 사용하여 다음과 같이 했다.
import pandas as pd
import gspread
from gspread_dataframe import get_as_dataframe, set_with_dataframe

worksheet = [適宜シートを設定]

# sheetからdataframeで受け取る
df_sps = get_as_dataframe(worksheet, usecols=[0,1,2,3], skiprows=0, header=0, index_col=0)

#################
# ここでデータ処理
#################

# sheetに反映
set_with_dataframe(worksheet, df_sps.reset_index())
  • get_as_dataframe :지정한 시트로부터 데이터를 가져와 Dataframe으로 해준다. 옵션은 pandas.read_csv 로 이용할 수 있는 것이라면 사용할 수 있을 것 같다.
    참고 : htps // 팬더 s. py였다. 오 rg/도 cs/레후오렌세/아피/판다 s. 라 d_csv. HTML
  • set_with_dataframe : 지정한 시트에 데이터를 반영한다.

  • (보충) 이 예라면, get_as_dataframe 했을 때에, 1열째를 index로서 지정하고 있다. index를 설정한 채로 set_with_dataframe 를 하면 index의 열이 사라져 버리기 때문에, df_sps.reset_index() 로 건네주었다.

    신경이 쓰이는 점


  • 스프레드시트에 쓸 때 필요한 GoogleAPI는 「100초간에 100회밖에 API를 두드릴 수 없다」라는 제약이 있지만, 갱신시에는 몇번 API를 두드리고 있는 것인가.
  • 데이터 수가 많을 때 어떻게 될까

  • 감상



    쉽게 pandas.Dataframe을 스프레드 시트에 반영 할 수있었습니다. 코드가 꽤 심플해지기 때문에 앞으로 활용해 나가고 싶다.

    좋은 웹페이지 즐겨찾기