이번 포스팅에서는 구글 스프레드 시트에 필터를 세팅하거나 필터를 삭제하는 방법을 알아보겠습니다.
Api 세팅
def api_setting():
scope = ['https://www.googleapis.com/auth/spreadsheets'
,'https://www.googleapis.com/auth/drive']
json_file_name = 'asset_management_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file_name, scope)
gc = gspread.authorize(credentials)
creds = None
creds = service_account.Credentials.from_service_account_file(
json_file_name, scopes=scope
)
service = build(
serviceName="sheets",
version="v4",
credentials=creds,
cache_discovery=False,
)
spreadsheets = service.spreadsheets()
return spreadsheets
BatchUpdate
- 스프레드시트에 하나 이상의 업데이트를 적용합니다.
- https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate?hl=ko
- batchupdate를 하는 파이썬 코드는 다음과 같습니다.
- request에는 어떤 batch를 업데이트 할지 json형태로 넣어줍니다.
def batchUpdate(spreadsheets, gsheet_id, requests):
request_body = {
'requests': [
requests
]
}
print(request_body)
response = spreadsheets.batchUpdate(
spreadsheetId=gsheet_id,
body=request_body
).execute()
필터세팅
- setBasicFilter를 활용하여 필터를 세팅합니다
- startRowIndex와 startColumnIndex를 활용해 필터를 걸기 시작할 지점을 세팅할 수 있습니다.
- 관련링크 : https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request?hl=ko#setbasicfilterrequest
def set_filter(sheetId):
requests = {
'setBasicFilter' : {
"filter": {
"range": {
"sheetId": sheetId,
"startRowIndex" : 0,
"startColumnIndex" : 0,
}
}
}
}
return requests
batchUpdate(spreadsheets, gsheet_id, set_filter(sheetId))
필터 삭제
- clearBasicFilter 를 활용합니다.
- 관련링크 : https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request?hl=ko#clearbasicfilterrequest
def clear_filter(sheetId):
requests = {
'clearBasicFilter' : {
'sheetId' : sheetId,
}
}
return requests
batchUpdate(spreadsheets, gsheet_id, clear_filter(sheetId))
728x90
반응형
'Data Engineering > Python' 카테고리의 다른 글
[Python/GoogleSpreadSheet API] GoogleSpreadSheet 데이터 삽입, 삭제 (0) | 2023.09.16 |
---|---|
[Python/GoogleSpreadSheet API] GoogleSpreadSheet 시트이름 및 시트탭 변경 (0) | 2023.09.16 |
[Python/GoogleSpreadSheet API] GoogleSpreadSheet API 연동하기 (2) (0) | 2023.09.12 |
[Python/GoogleSpreadSheet API] GoogleSpreadSheet API 연동하기 (1) (0) | 2023.09.10 |
[Python] DataFrame의 groupby에 매소드 적용 (agg 활용) (0) | 2022.07.02 |