【问题标题】:How to change column width with Google Sheets API v4 in Python? [duplicate]如何在 Python 中使用 Google Sheets API v4 更改列宽? [复制]
【发布时间】:2020-06-27 23:10:07
【问题描述】:

我正在尝试使用 Google Sheets API 更改 column width。我知道spreadsheetId 可以通过ss_drive.get('id') 获取,但我不知道如何获取sheetId

ss_drive = drive_api.files().create(body=file_metadata).execute()
ssId = ss_drive.get('id')

sheets_api = build('sheets', 'v4', credentials=credentials)

requests = []
requests.append({
    "updateDimensionProperties": {
    "range": {
      "sheetId": sheetId,
      "dimension": "COLUMNS",
      "startIndex": 0,
      "endIndex": 1
    },
    "properties": {
      "pixelSize": 160
    },
    "fields": "pixelSize"
    }
})

response = sheets_api.spreadsheets().batchUpdate(
    spreadsheetId=ssId, body={'requests': requests}).execute()

我将"sheetId": sheetId 更改为"sheetId": 0。并且列改变了它的宽度。

【问题讨论】:

    标签: python google-sheets-api


    【解决方案1】:

    您的帐户中可以存储多张工作表,因此您需要事先知道工作表 ID。您可以登录https://sheets.google.com,导航到您选择的工作表,URL 将类似于:

    https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms
    

    d/ 之后的标记是电子表格的 ID,您可以根据 developer example 在查询中使用它。

    【讨论】:

    • 我可以使用以下命令从您的示例中获取1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upmsss_drive.get('id')。它被称为spreadsheetId。我的问题是如何获得"sheetId": sheetId?它们不一样。
    • @F.Vosnim 这取决于您如何命名该工作表。如果您不知道那里有什么,您可以通过spreadsheets().get 获得概述。请参阅我链接的问题。
    • 我的意思是你所说的一切都无助于改变列宽。我在我的代码中放置了"sheetId": 0,它成功地改变了列的宽度。这意味着Sheet1, Sheet2, Sheet3... 拥有sheetId= 0, 1, 2...。考虑您的示例 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms 是您的 spreadsheetId,但此电子表格中的第一张表具有 sheetId=0
    • @F.Vosnim 只要您不删除工作表,这是真的。现在删除Sheet1,第一张纸仍然有sheetId == 1。所以一般你不能假设第一张纸的 id 是0。如果您移动工作表,这同样适用。
    • 没错,我删除了第一张表,第二张表变成了'sheetId': 876005509
    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 2017-12-26
    • 2016-10-13
    • 2018-11-08
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多