【问题标题】:Find cell by value with google api v4 (google sheets)使用 google api v4 (google sheet) 按值查找单元格
【发布时间】:2017-09-12 09:43:12
【问题描述】:

我可以使用 google api v4 按值查找单元格吗?在我的任务中我想更改背景颜色if cell_value == my_value

我只知道一种变体:

  1. 使用 gspread 我可以找到单元格坐标
  2. 使用 google api v4 我可以更改背景颜色

但我只想使用 google api v4,因为使用 gspread 按值查找单元格的速度非常慢。

【问题讨论】:

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


    【解决方案1】:

    支持使用 Sheets API 获取单元格的值。检查Sheets API Reading guide。 阅读代码示例见Basic Reading

    读取单个范围

    以下电子表格.values.get 请求读取存储在范围 Sheet1!A1:D5 中的值并在响应中返回它们。空的尾随行和列被省略。

    请求协议如下所示。 Reading and Writing Values 指南展示了如何使用 Google API 客户端库以不同的语言实现读取。

    GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D5
    

    【讨论】:

    • 如果我想使用电子表格.batchUpdate,我需要获取 my_text 所在的行和列。当然,我可以读取工作表中的所有数据并返回我的文本所在的行和列,但我认为 google api 有另一种方法来通过文本获取单元格坐标
    • @OsiaButorin 你觉得呢?你的参考资料在哪里?
    • 我没有参考这个问题))但是如果行和列需要batchUpdate方法,那么必须有搜索这些值并返回它们的方法。还是不行?
    • SheetsAPI 现在有 getRow 或 getColumn 但您可以查看Row and Column Operations
    • 绝对是,但是行和列操作不能解决我在工作表上查找单元格坐标的问题
    【解决方案2】:

    这就是 JSON 的样子:

    {
      "find": string,
      "replacement": string,
      "matchCase": boolean,
      "matchEntireCell": boolean,
      "searchByRegex": boolean,
      "includeFormulas": boolean,
    
      // Union field scope can be only one of the following:
      "range": {
        object(GridRange)
      },
      "sheetId": number,
      "allSheets": boolean,
      // End of list of possible types for union field scope.
    }
    

    只选择一个范围选项(范围、sheetID 或 allSheets)。

    【讨论】:

    • 我为这个请求正文使用了哪个工作表 api?抱歉,我找不到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多