【发布时间】:2020-10-12 14:54:46
【问题描述】:
我正在使用 Google sheet API 并定义了以下函数:
def service():
secret_id_gsuite_token = 'my_token' # AWS Secret with token
gsheet = GSheets(secret_id_gsuite_token)
return gsheet
使用 pandas 数据框中的信息更新工作表:
def df_to_googlesheet(gsheet, df, gsheetId, sheet_name):
output = gsheet.spreadsheets.values().update(
spreadsheetId = gsheetId,
valueInputOption = 'RAW',
range = sheet_name + '!A1',
body = dict(
majorDimension = 'ROWS',
values = df.T.reset_index().T.values.tolist())
).execute()
请求合并单元格以形成“块”:
def merge_cells_request(sheeId, start_row, end_row, start_col, end_col):
request = [{"mergeCells": { "range": { "sheetId": sheeId,
"startRowIndex": start_row,
"endRowIndex": end_row,
"startColumnIndex": start_col,
"endColumnIndex": end_col},
"mergeType": "MERGE_ALL"}}]
return request
我也有一个类似的功能来请求为单元格背景着色。我将我的所有请求都放在 requests 列表中并运行它们:
gsheet.batch_update(gsheetId, requests)
这个 batch_update 函数使用了 google sheet api 的 batchUpdate() 方法。
最后这是清除工作表的功能:
def clear_sheet(gsheet, spreadsheetId, sheeId):
clear_request = [{"updateCells": {"range": {"sheetId": sheeId},
"fields": "*"}}]
gsheet.batch_update(spreadsheetId, clear_request)
问题是最后一个函数没有清除合并的单元格,我想取消合并所有合并的单元格以使工作表再次完全干净,但是我在网上找到的选项似乎都不适合我的代码...
【问题讨论】:
标签: python google-sheets google-api google-sheets-api