Среда выполнения скрипта Google Apps Chrome V8 вызывает ошибку в файле Utilities.parseCsv (csv, delimiter), когда разделитель равен '' (пробел) - PullRequest
4 голосов
/ 11 февраля 2020

В скрипте Google App мне нужно разделить строку, используя пробел в качестве разделителя. Я использовал Utilities.parseCsv. Работало нормально.

Затем я переключил свой код скрипта на новую среду выполнения V8 и столкнулся с ошибкой в ​​функции parse.CSV. Этот простой код, приведенный ниже, не работает в V8, отлично работает в устаревшей среде исполнения. Ошибка «Исключение: невозможно преобразовать 'в символ."

Мне нравится использовать среду исполнения V8 по причинам, поэтому необходимо, чтобы это работало. У кого-нибудь есть обходной путь, пожалуйста?

Большое спасибо!

function test(){
var csvString = "Prefix Middle Suffix";
var data = Utilities.parseCsv(csvString, ' ');
Logger.log(data);
}

1 Ответ

7 голосов
/ 11 февраля 2020
  • Вы хотите использовать Utilities.parseCsv(csv, delimiter) в V8.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Я думаю, что это может быть одной из ошибок для V8. Хотя я думаю, что это может быть решено в будущем обновлении. В качестве текущего обходного пути, из сообщения об ошибке Exception: Cannot convert '' to char., как насчет следующей модификации?

От:

var data = Utilities.parseCsv(csvString, ' ');

Кому:

var data = Utilities.parseCsv(csvString, ' '.charCodeAt(0));

или

var data = Utilities.parseCsv(csvString, Utilities.newBlob(' ').getBytes());

Результат:

[["Prefix","Middle","Suffix"]]

Примечание:

  • В вышеописанном модифицированном скрипте его можно использовать с включением и без включения V8.

Ссылки:

Если я неправильно понял ваш вопрос, и это не то направление, которое вы хотите, я приношу свои извинения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...