Получить строки, имеющие определенное значение в фиде электронной таблицы Google

Я смог получить полный json-канал электронной таблицы Google, используя

https://spreadsheets.google.com/feeds/list/--KEY--/od6/public/values?alt=json-in-script

Можно ли получить только определенные строки из электронной таблицы Google, сравнивая значения в столбце, как мы делаем в sql? (Например, get rows where age==25)


person Munawir    schedule 15.08.2017    source источник


Ответы (2)


Наконец-то получил ответ.

Вы можете использовать запрос, например

&sq=age="25"

Если вы хотите использовать несколько запросов, используйте

&sq=age="25"+and+name="Full%20Name"

Таким образом, конечный URL будет выглядеть как

https://spreadsheets.google.com/feeds/list/--KEY--/od6/public/values?alt=json-in-script&sq=age="25"+and+name="Full%20Name"
person Munawir    schedule 19.08.2017
comment
К сожалению, версия 4 API G Sheets больше не поддерживает этот шаблон. Вздох. См. developers.google.com/sheets/api/guides/. - person Larry K; 03.01.2018

Чтобы получить URL-адрес электронной таблицы и добавить запрос, добавьте следующее в конец URL-адреса файла после идентификатора

/gviz/tq?tqx=out:html&tq=select+B,D,E+where+C+%3C%3E+25&gid=427073627

Измените значение после gid на идентификатор вкладки/листа. Для одной из моих электронных таблиц полный URL-адрес будет таким:

https://docs.google.com/spreadsheets/u/1/d/1EA9jh4ztcWCO5gT9LfAQ57oTlTEeUoiGkjmro/gviz/tq?tqx=out:html&tq=select+B,D,E+where+C+%3C%3E+25&gid=427073627

Старый ответ - неправильно понял, где требуется запрос

Вы можете использовать функцию query() для выполнения некоторых запросов. Если возраст находится в столбце C, вы можете использовать это:

=query(A1:E, "select B, E, D where C = 25", 1)

Это запросит столбцы от A до E от первой до последней строки на листе. 1 в конце говорит, что первая строка является строкой заголовка, поэтому она возвращается в строке, где существует формула. В текущем столбце будет отображаться содержимое столбца B, в следующем — содержимое столбца E, а затем содержимое столбца D для любой строки, в которой столбец C имеет значение 25.

person Karl_S    schedule 15.08.2017
comment
Мне нужно получить данные электронной таблицы в виде объекта json на внешней html-странице, используя ссылку, как показано в вопросе, нет необходимости запускать функцию в электронной таблице. - person Munawir; 15.08.2017
comment
Дайте мне знать, если редактирование работает. Ваш URL-адрес отличается, поэтому вам может потребоваться немного изменить URL-адрес, но это работает для меня в файлах нашего домена. - person Karl_S; 15.08.2017