如何从按列值过滤的 Google 工作表中获取行?
How to get rows from Google Sheets filtered by a column's value?
我有一个跨页sheet,看起来像这样:(这只是我的 sheet 的一个片段,将来可能有 10,000 行)
我想要做的是,获取 For Class (column)
值 = 7
的每一行 - 在上面的示例中,行 #3, #5, #8, #10
的 For Class
值为 7
,所以我应该得到它们。
使用此参考 - https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get,我尝试获取一些数据:(范围只是 Sheet3
因为我希望所有行都可用)
但是如您所见,由于我没有应用任何过滤器,它只提供了一切 - (我要求 majorDimension 应该是 ROWS
)
我应该怎么做才能获得包含 For Class = 7
的所有行,并保持 majorDimension 为 ROWS
?
问题:
在工作表 API 请求 期间,无法根据列值 过滤行。有 batchGetByDataFilter, but it only allows you to filter according to a specified range or according to DeveloperMetadata.
解决方法:
也就是说,您可以在收到 API 的响应后轻松过滤该数据。我不知道您使用的是什么语言,但是例如,如果您使用的是 Node,它可能是这样的:
const filteredRows = response["values"].filter(row => row[0] == "7");
console.log(filteredRows);
其中 response
对应于 spreadsheets.values.get 的 API 响应。
我有一个跨页sheet,看起来像这样:(这只是我的 sheet 的一个片段,将来可能有 10,000 行)
我想要做的是,获取 For Class (column)
值 = 7
的每一行 - 在上面的示例中,行 #3, #5, #8, #10
的 For Class
值为 7
,所以我应该得到它们。
使用此参考 - https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get,我尝试获取一些数据:(范围只是 Sheet3
因为我希望所有行都可用)
但是如您所见,由于我没有应用任何过滤器,它只提供了一切 - (我要求 majorDimension 应该是 ROWS
)
我应该怎么做才能获得包含 For Class = 7
的所有行,并保持 majorDimension 为 ROWS
?
问题:
在工作表 API 请求 期间,无法根据列值 过滤行。有 batchGetByDataFilter, but it only allows you to filter according to a specified range or according to DeveloperMetadata.
解决方法:
也就是说,您可以在收到 API 的响应后轻松过滤该数据。我不知道您使用的是什么语言,但是例如,如果您使用的是 Node,它可能是这样的:
const filteredRows = response["values"].filter(row => row[0] == "7");
console.log(filteredRows);
其中 response
对应于 spreadsheets.values.get 的 API 响应。