使用Python和Google表格API将工作表移动到特定位置

问题描述 投票:2回答:2

我正在尝试通过python使用Google表格API。到目前为止,我已经成功完成了一些任务。我的问题是例如我在特定工作表中按顺序有4张

[sheet1][sheet2][sheet3][sheet4]. 

我想要的是操纵床单的位置。例如,纸张4现在位于第二位置。所以现在,床单的位置将成为

[sheet1][sheet4][sheet2][sheet3]

有没有办法在python中执行此操作?

谢谢!

python google-api google-spreadsheet-api google-sheets-api google-api-python-client
2个回答
2
投票

它应该是绝对可行的,因为Google表格API支持这一点,而Google API Python客户端只是这个和其他API的包装。

请参阅Sheets API reference for SheetProperties,该属性称为索引。

尝试实现这一点,如果您需要任何帮助,请回来。


1
投票

是的,您可以使用Python或Google APIs Client Libraries支持的任何其他语言执行此操作。无论使用哪种语言,您都需要使用最新的Google Sheets API。假设您不知道sheet4在哪里,但是想要将其移动到第二个插槽中,如图所示。

以下是您的步骤,假设SHEETS是您的服务端点,FILE_ID是您的Google云端硬盘中的Sheets文件的ID:

  1. 通过获取表格文件数据找到要移动的工作表的ID:rsp = SHEETS.spreadsheets().get()
  2. 循环通过每张纸,即for sheet in rsp['sheets']并匹配sheet['properties']['title'] == 'sheet4'
  3. 现在通过将索引设置为2来更新该工作表的属性,类似于下面的请求。

这是最后一部分的代码:

reqs = {'requests': [
    # reorder sheet4 to index 2
    {'updateSheetProperties': {
        'properties': {
            'sheetId': sheet['properties']['sheetId'],
            'index': 2
        }
    }}
]}
SHEETS.spreadsheets().batchUpdate(
    spreadsheetId=FILE_ID, body=reqs).execute()

完成此更改后,表格2和3应滑过。希望这可以帮助!

如果您已经在文档中使用了示例,并希望通过查看使用Sheets API和Python的一些“真实世界”示例来了解更多信息,那么我制作了一些可能有用的视频:

© www.soinside.com 2019 - 2024. All rights reserved.