Python을 사용하여 GoogleSpreadSheet 작업
12708 단어 GoogleSpreadSheetPython
적절한 스프레드시트를 열고 공유 버튼을 누릅니다.
이전 Client_전자 메일 붙여넣기
링크 복사
Python 환경에 설치
hoge.php
pip install gspread
pip install oauth2client
jsonfile 이름과 스프레드시트 키
실행 파일과 동일한 위치에 JSON 파일 배치
hoge.py
import gspread
import json
from oauth2client.service_account import ServiceAccountCredentials
# (1) Google Spread Sheetsにアクセス
def connect_gspread(jsonf,key):
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(jsonf, scope)
gc = gspread.authorize(credentials)
SPREADSHEET_KEY = key
worksheet = gc.open_by_key(SPREADSHEET_KEY).sheet1
return worksheet
# ここでjsonfile名と2-2で用意したkeyを入力
jsonf = "~~~~~~~.json"
spread_sheet_key = "aaaaaaaaaaaaaa"
ws = connect_gspread(jsonf,spread_sheet_key)
#(2) Google Spread Sheets上の値を更新
#(2−1)あるセルの値を更新(行と列を指定)
ws.update_cell(1,1,"test1")
ws.update_cell(2,1,1)
ws.update_cell(3,1,2)
#(2−2)あるセルの値を更新(ラベルを指定)
ws.update_acell('C1','test2')
ws.update_acell('C2',1)
ws.update_acell('C3',2)
#(2-3)ある範囲のセルの値を更新
ds= ws.range('E1:G3')
ds[0].value = 1
ds[1].value = 2
ds[2].value = 3
ds[3].value = 4
ds[4].value = 5
ds[5].value = 6
ds[6].value = 7
ds[7].value = 8
ds[8].value = 9
ws.update_cells(ds)
hoge.py#--- n列目をすべて取得して値を1つずつ出力 ---
col_list = ws.col_values(1)
for data in col_list:
print(data)
대량으로 데이터를 쓸 때 update_cells 활용
데이터를 많이 쓰는 경우 중간에 다음과 같은 API 오류가 발생할 수 있습니다.
raise APIError(response)
gspread.exceptions.APIError: {
"error": {
"code": 429,
그때는 update_cells를 사용하여 쓰기 횟수를 줄이세요.hoge.py
cell_list = ws2.range('A'+str(i)+':P'+str(i))
cell_list[0].value=homepage
cell_list[1].value=title
cell_list[2].value=price
cell_list[3].value=surl
cell_list[4].value=area
cell_list[5].value=service
cell_list[6].value=copy
cell_list[7].value=comment
cell_list[8].value=clock
cell_list[9].value=tel
cell_list[10].value=created_at
cell_list[11].value=updata_at
cell_list[12].value=sogo
cell_list[13].value=point
cell_list[14].value=premium
cell_list[15].value=tipe
ws2.update_cells(cell_list)
순환 사용 시
hoge.py
cell_list = ws2.range('A'+str(i)+':P'+str(i))
for cell in cell_list:
cell.value = 'fuga'
sheet.update_cells(cell_list)
참조:https://qiita.com/164kondo/items/eec4d1d8fd7648217935
Reference
이 문제에 관하여(Python을 사용하여 GoogleSpreadSheet 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/healing_code/items/9b838ffb764d6fcbca3a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)