我需要在电子表格中找到包含一些数据的行并将其删除。我所知道的只是这一行单元格内的id。
如何使用google REST API搜索单元格的位置
例如:
GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:find?value=123456
response:
sheet1! B2:B2
另外:我还想支持削减
如果有办法复制
POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter
{
"dataFilters": [
{
object (DataFilter)
}
],
"majorDimension": enum (Dimension),
"valueRenderOption": enum (ValueRenderOption),
"dateTimeRenderOption": enum (DateTimeRenderOption)
}
找到该行并删除它。
如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一。
不幸的是,在当前阶段,无法通过使用Sheets API搜索值直接检索行号。此外,无法通过使用Sheets API搜索值来删除行。我不确定这些是否在未来的更新中添加。那么在当前的变通方法中,以下变通方法如何?
此解决方案的流程如下。
通过这种流动,你的目标就可以实现。
在这个解决方案中,由Google Apps脚本创建的Web应用程序被用作API。
Web应用程序的示例脚本是Google应用程序脚本。因此,请创建一个谷歌应用程序脚本项目。
如果要直接创建,请访问https://script.new/.在这种情况下,如果您没有登录Google,则会打开登录屏幕。所以请登录谷歌。这样,谷歌应用程序脚本的脚本编辑器就打开了。
请将以下脚本复制并粘贴到脚本编辑器中。此脚本用于Web应用程序。在这个脚本中,使用了Sheets API。所以请在高级Google服务中启用Sheets API。
function doGet(e) {
var findText = e.parameter.value;
var spreadsheetId = e.parameter.spreadsheetId;
var deleteRows = e.parameter.deleteRows && e.parameter.deleteRows.toLowerCase() === "true";
var ss = SpreadsheetApp.openById(spreadsheetId);
var ranges = ss.createTextFinder(findText).findAll();
if (deleteRows === true) {
var requests = ranges.reverse().map(r => ({deleteDimension:{range:{dimension:"ROWS",sheetId:r.getSheet().getSheetId(),startIndex:r.getRow() - 1,endIndex:r.getRow()}}}));
Sheets.Spreadsheets.batchUpdate({requests: requests}, spreadsheetId);
}
var res = ranges.map(r => ({range: `'${r.getSheet().getSheetName()}'!${r.getA1Notation()}`, sheetId: r.getSheet().getSheetId()}));
return ContentService.createTextOutput(JSON.stringify(res));
}
doPost()
而不是doGet()
这是一个用于使用Web应用的示例curl命令。请设置您的Web Apps URL、spreadsheetId和搜索值。
curl -GL \
-d "spreadsheetId=###" \
-d "value=sample" \
"https://script.google.com/macros/s/###/exec"
>
spreadsheetId=###
和value=sample
用作doGet(e)
处的查询参数时。例如,您可以使用e.parameter检索spreadsheetId
。电子表格ID
在上述Web应用程序脚本中,当运行此curl命令时,将返回值,如[{“range”:“'Sheet1'!A1”,“sheetId”:0},{“range”:“'Sheet2'!B2”,“sheetId”:###}]
。这是通过搜索值sample
得到的结果。
如果像下面那样使用deleteRows=true
,则从电子表格中的所有工作表中搜索该值,并删除搜索的行。
curl -GL \
-d "spreadsheetId=###" \
-d "value=sample" \
-d "deleteRows=true" \
"https://script.google.com/macros/s/###/exec"
如果我误解了你的问题,而这不是你想要的方向,我道歉。
问题内容: 我正在电子表格中查找具有字符串’Total’的单元格,然后使用该单元格所在的行来查找另一个始终为相同单元格/列的单元格的总值(0中的第10个单元格基于索引)。 我有以下代码,没有错误(语法),但是findCell方法未返回rowNum值: 问题答案: 此方法修复是解决您的问题的方法: 请记住,您仍然是一个固定值。
问题内容: 我在这样的表格视图中有一个数字列表。 如您所见,数字是重复的。让我们考虑一组重复的数字作为一个组。因此,有一组1,一组2,依此类推。 我想做的是当应用启动时,我需要自动滚动到指定组的开始位置。在进一步解释之前,这是到目前为止的代码。 import UIKit 我为变量分配了值12 。这意味着当应用程序启动时,我希望表格视图自动滚动到 12s组单元格的开始。 但是目前,我的代码执行的是滚
这是我第一次在这里发帖,所以请直接回答我的问题,我会尽我所能解释我的问题。 我的工作簿中有两个工作表,其中工作表1直观地表示一个有162个方格的托盘中多个单位(A1到A162)的位置。并不是所有的方格都被填满,因为有些方格是空的。 现在,第2页显示了单位A1到A162的数值。我已经使用条件格式为每个值分配颜色。 我试图从sheet2将A1的颜色复制到sheet1中具有A1值的单元格,但没有成功。
问题内容: 如何使用BeautifulSoup搜索仅包含我要搜索的属性的标签? 例如,我要查找所有标签。 如下代码: 获取我想要的所有数据,还获取具有该属性的所有标签 我也试过了: 这什么也不返回(可能是由于正则表达式不好) 我想知道在BeautifulSoup中是否有一种方法可以说“查找唯一属性为”的标签 *例如,如果HTML文档包含以下标记,则为 *UPDATE : 我只希望第一个标签()返回
我已经编写了一个程序,找到一个包含“customer:”的单元格,并且程序成功地工作。问题是,我想要直接挨着单元格的单元格的值。布局如下所示:
我有一个包含元素列表的实体,现在我想搜索这些元素的属性。这个约束应该是“与”连接的。请看这些简单的例子: 现在我想找到某个城市的家长,比如说“BigCity”,孩子们在学校“AwesomeSchool”,他们在六年级一班。我只想通过CriteriaBuilder获得搜索结果。 到目前为止,我得到了: 不幸的是,这里有两个问题:-看起来我无法在列表属性上调用-这将返回所有孩子在“AwesomeSch