python-3.x - 如何通过 Python 使用 SHEET API v4 删除 google 电子表格中的行?

标签 python-3.x google-sheets google-sheets-api google-colaboratory

我的代码如下

def write_cells(spreadsheet_id, update_data):
updating = sheet_service.spreadsheets().values().\
        batchUpdate(spreadsheetId=spreadsheet_id, body=update_data)
updating.execute()

spreadsheet_data = [
    { 
        "deleteDimension": {
        "range": {
          "sheetId": sheet_id,
          "dimension": "ROWS",
          "startIndex": 5,
          "endIndex": 100
         }              
        }
       }
]    

update_spreadsheet_data = {
    'valueInputOption': 'USER_ENTERED',
    'data': spreadsheet_data
}

update_data = update_spreadsheet_data

write_cells(spreadsheet_id, update_data)

我有以下错误信息

HttpError                                 Traceback (most recent call last)
<ipython-input-64-0ba8756b8e85> in <module>()
----> 1 write_cells(spreadsheet_id, update_data)

2 帧

/usr/local/lib/python3.6/dist-packages/googleapiclient/http.py in execute(self, http, num_retries)
    838       callback(resp)
    839     if resp.status >= 300:
--> 840       raise HttpError(resp, content, uri=self.uri)
    841     return self.postproc(resp, content)
    842 

HttpError: <HttpError 400 when requesting https://sheets.googleapis.com/v4/spreadsheets/1lAI8gp29luZDKAS1m3P62sq0kKCn8eaMUvO_M_J8meU/values:batchUpdate?alt=json returned "Invalid JSON payload received. Unknown name "delete_dimension" at 'data[0]': Cannot find field.">

我不明白:“未知名称 delete_dimension”。我无法解决它。感谢任何帮助,谢谢。

最佳答案

  • 您想使用带有 Python 的 Sheets API 删除行。

如果我的理解是正确的,这个修改怎么样?

修改点:

  • 在电子表格中删除行时,请使用spreadsheets().batchUpdate()
  • 我认为 spreadsheet_data 是正确的。
  • 在这种情况下,请将请求正文修改为{"requests": spreadsheet_data}

修改后的脚本:

def write_cells(spreadsheet_id, update_data):
    # Modified
    updating = sheet_service.spreadsheets().batchUpdate(
        spreadsheetId=spreadsheet_id, body=update_data)
    updating.execute()


spreadsheet_data = [
    {
        "deleteDimension": {
            "range": {
                "sheetId": sheet_id,
                "dimension": "ROWS",
                "startIndex": 5,
                "endIndex": 100
            }
        }
    }
]

update_spreadsheet_data = {"requests": spreadsheet_data} # Modified

update_data = update_spreadsheet_data
write_cells(spreadsheet_id, update_data)

备注:

  • 此修改后的脚本假定您已经能够使用 Sheets API。

引用:

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

关于python-3.x - 如何通过 Python 使用 SHEET API v4 删除 google 电子表格中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56168301/

相关文章:

google-sheets - 在 Google 表格中翻译 HTML 内容

java - 如何使用 Java 将 Google 文档(电子表格)设置为公开?

python - 使用Python3.2重新缩放图像

python - 正则表达式用于查找表达式之间的文本,其中一个匹配的结束可能是下一个匹配的开始

python-3.x - 'SVC' 对象没有属性 'SVC'

python - 仅使用 AWS Lambda 加载本地模块时出现问题

Google Apps 脚本的 Jdbc 连接错误

google-apps-script - 每次进行编辑时将 Google 电子表格导出为 .XLSX

google-sheets - Google Sheet API 中从未设置 TextRotation 角度

google-sheets - 如何在谷歌电子表格中获取台湾证券交易所指数