【问题标题】:Is there a way to autofit a column in Google Sheets using gspread API for Python?有没有办法使用 Python 的 gspread API 自动调整 Google 表格中的列?
【发布时间】:2019-08-02 12:04:15
【问题描述】:

有没有办法使用 gspread API for Pyton 在 Google 表格中操作行?自动调整会很棒,但手动更改大小也可以。

【问题讨论】:

    标签: python google-drive-api google-sheets-api gspread


    【解决方案1】:
    • 您想使用 Sheets API 将列宽调整为“自动调整”。
    • 您希望使用 gspread 实现此目的。
    • 您已经能够使用 gspread 为电子表格放置和获取值。

    如果我的理解是正确的,那么这个示例脚本怎么样?请认为这只是几个答案之一。

    在这个示例脚本中,我将“autoResizeDimensions”与 gspread 的 batch_update() 一起使用。这使用 Sheets API 的电子表格.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)
    

    注意:

    • 在上述示例脚本中,startIndex 和endIndex 分别使用0 和2。这意味着sheetName 的“A”和“B”列的宽度会自动调整大小。
    • 如果要使用电子表格ID,请将ss = client.open(spreadsheetName)修改为ss = client.open_by_key(spreadsheetId)。

    参考资料:

    如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

    【讨论】:

    • 谢谢!那非常有用。我想通过这种方式我可以更改所有其他属性,如颜色、字体大小等。
    • @Georgi Bonchev 感谢您的回复。我很高兴你的问题得到了解决。是的。您还可以使用batch_update() 修改其他属性。
    • @Tanaike 这很有帮助。陈述你的理解是个好主意,它可以帮助传入的浏览器理解你的答案是什么!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多