IMPORTDATA получает множество ошибок, потому что я пытаюсь загрузить много ячеек для котировок акций

#google-sheets #google-sheets-formula

Вопрос:

У меня есть лист Google с 220 функциями «importdata», где каждая из них выводит котировку акций с веб-сайта. Функция просто проста:

 importdata("http://<URL>/"amp;A2)
 

где A2 содержит символ типа «GOOG», а <URL> это URL-адрес веб-сайта.

С 220 из этих данных импорта я получаю ошибку:

 "Error Loading data may take a while because of the large number of requests. Try to
reduce the amount of IMPORTHTML, IMPORTDATA, IMPORTFEED or IMPORTXML functions across
spreadsheets you've created."
 

Ошибки никогда не исчезнут, даже если я буду долго ждать.

См.Рисунок, на котором показан только небольшой участок листа.

https://imgur.com/a/D7QnWYj

Есть ли какой-нибудь способ это исправить? Я хотел бы ввести случайную задержку для каждой из этих цитат от 1-5 секунд, что решило бы эту проблему, но я не знаю, как это сделать.

Ответ №1:

Один из вариантов, вы могли бы реализовать свою собственную функцию importdata, которая не ограничивалась бы указанными выше ошибками. Это выглядело бы чем-то похожим на:

   var response = UrlFetchApp.fetch(url);
  var responseData = response.getBlob().getDataAsString();
  var data = Utilities.parseCsv(responseData, ',');
  return data;
}
 

и добавьте его, Tools > Script Editor как описано в https://www.roelpeters.be/solve-loading-data-may-take-a-while-when-using-importdata-in-google-spreadsheets/

или вы можете попробовать любой из этих https://github.com/search?q=вместо этого CryptocurrencySpreadsheetUtils

Они реализуют пользовательскую функцию для массовой загрузки данных о ценах вместо добавления 100 вызовов функций importdata, чтобы у вас не возникло никаких проблем с этим.

Комментарии:

1. Я отметил это как решение, потому что оно отлично работало. Спасибо