有没有一种使用Python的gspread API自动调整Google Sheets中列宽的方法?

4

有没有一种方法可以使用gspread API for Pyton来操作Google Sheets中的行?自适应大小会很棒,但手动更改大小也可以。

1个回答

11
  • 您想使用Sheets API将列宽度调整为“自适应”。
  • 您想使用gspread实现此目标。
  • 您已经能够使用gspread为电子表格放置和获取值。

如果我理解正确,那么这个示例脚本怎么样?请把它看作是几个答案中的一个。

在此示例脚本中,我使用了gspread的“autoResizeDimensions”和batch_update()。这使用了Sheets API的spreadsheets.batchUpdate。

示例脚本:

spreadsheetName = "###"  # Please set Spreadsheet name.
sheetName = "###"  # Please set sheet name.

ss = client.open(spreadsheetName)
sheetId = ss.worksheet(sheetName)._properties['sheetId']
body = {
    "requests": [
        {
            "autoResizeDimensions": {
                "dimensions": {
                    "sheetId": sheetId,
                    "dimension": "COLUMNS",
                    "startIndex": 0,  # Please set the column index.
                    "endIndex": 2  # Please set the column index.
                }
            }
        }
    ]
}
res = ss.batch_update(body)

注意:

  • 在上述示例脚本中,startIndexendIndex分别使用了02。这意味着sheetName的“A”列和“B”列的宽度将自动调整。
  • 如果您想使用电子表格ID,请修改ss = client.open(spreadsheetName)ss = client.open_by_key(spreadsheetId)

参考资料:

如果我误解了您的问题或这不是您想要的方向,请谅解。


谢谢!那非常有用。我想用这种方式可以改变所有其他属性,如颜色、字体大小等。 - Georgi Bonchev
1
@Georgi Bonchev 谢谢您的回复。我很高兴您的问题已经解决。是的,您也可以使用 batch_update() 修改其他属性。 - Tanaike
1
@Tanaike 这很有帮助。表达您的理解是个好主意,这有助于新来的浏览者了解你的答案是什么! - Jérémie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接