当前位置: 首页 > 知识库问答 >
问题:

如何使用Google Sheets API v4处理检索行的结构化查询

谭泳
2023-03-14

我想开始迁移我的应用程序依赖于谷歌电子表格API(v3)到谷歌表格API v4。然而,在我开始之前,我还有一个问题。

在Google Sheets API v3中,我可以使用请求URL中的sq参数,通过结构化查询获得基于行的提要。如果工作表有10000行,并且我只需要获取特定列中具有特定值的行,则此选项非常有用。就速度而言,它也非常高效。

在查看Google的v4迁移指南时,我在“检索行数据”下找到了以下语句:

The Sheets API v4 does not currently have a direct equivalent for the Sheets
API v3 structured queries. However, you can retrieve the relevant data and
sort through it as needed in your application.

考虑到V4API中没有结构化查询,如何有效地从10000行的工作表中检索“相关数据”。我宁愿不必检索所有10000行,而只是筛选响应。尤其是因为它会减慢我的应用程序速度,可能会增加通过网络发送的数据量。

使用V4API,如何检索在特定列(或一组列)中具有特定值的行?

共有1个答案

百里鸿祯
2023-03-14

我不需要参考文档,因为您已经知道了。Sheetsv4中没有此类功能。您必须手动执行基本的读取方法并解析响应,在其上循环并筛选您要查找的值。

这与你的问题有关。我已经在那里写了一些代码,所以我将在这里发布结果,以便您了解我是如何搜索值的。

为了获取电话,我循环了JSON响应:

arrayBuffer = xhr.response;
             console.log("arrayBuffer "+ arrayBuffer);
             myArr = JSON.parse(arrayBuffer);

              for(var i = 0; i < myArr.values.length; i++){

                 if(myArr.values[0][i] === "phone"){
                     console.log("column position is " + (i+1)); // +1 because counting starts at 0
                 }
              }

您也可以在此处提交功能请求。

 类似资料:
  • 我定义了一个结构… 有时我给它分配一个空会话(因为不可能为零) 然后我想检查一下,如果它是空的: 显然这是行不通的。我怎么写?

  • 我找不到这个问题的答案,因为它看起来非常复杂 这里我有 1 张 3 列的表格 CodeVal_1和CodeVal_2一起构成主键 所以这个表包含如下数据 现在我需要查询这个表作为 这完全适用于SQL服务器,但是每次查询调用都很慢。所以我想通过一些预加载等在整个C#代码中使其工作。 但是,我找不到比SQL server 2014更快的合适方法 有没有可能用某种双重索引(我不知道这个只是随口说说)、哈

  • 嗨,如何检查聚合查询中使用的索引和扫描对象的数量,类似于db.collection.find().explain()?

  • 我正在使用微批处理()从Kafka stream读取消息,处理消息并通过将结果写入另一个Kafka主题。该作业(流式查询)被设计为“永远”运行,处理大小为10秒(处理时间)的微批。已设置选项,因为Spark需要检查点。

  • 问题内容: 我定义一个结构… 有时我给它分配一个空的会话(因为nil不可能) 然后,我想检查一下是否为空: 显然这是行不通的。我该怎么写? 问题答案: 您可以使用==与零值复合文字进行比较,因为所有字段都是可比较的: 游乐场的例子 由于存在歧义,因此在if条件下,在组合文字周围需要括号。 上面的用法适用于所有字段都是可比较的结构。如果该结构包含不可比较的字段(切片,映射或函数),则必须将这些字段一

  • 问题内容: 我正在使用SQL Server,但没有足够的数据集来测试查询的性能。 我想分析查询,看看索引是否被利用。我该如何检查 问题答案: 在SQL Management Studio中,只需键入查询,然后按Control-L(显示查询执行计划)。在那里,您将能够查看是否正在使用任何索引。“表扫描”表示未使用索引。“索引扫描”是指使用索引。