Проблема с Google лист Utilities.parseCsv приложения сценария - PullRequest
0 голосов
/ 15 октября 2018

У меня запущен скрипт Google Appt, который я использую, чтобы получить CSV из электронной почты и поместить в листы Google.

function importCSVFromGmail() {
    var threads = GmailApp.search("from:myemail@gmail.com");
    var message = threads[0].getMessages()[0];
    var attachment = message.getAttachments()[0];
    attachment.setContentTypeFromExtension();  
  if (attachment.getContentType() === "text/csv") {
        var sheet = SpreadsheetApp.getActiveSheet();
        var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
        sheet.clearContents().clearFormats();
        sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
    }
}

В большинстве случаев он работает без сбоев, но иногда, если исходный файл содержит точки с запятой ';'где-нибудь в теле текстовых строк, он терпит неудачу и не может проанализировать файл, с ошибкой здесь:

Utilities.parseCsv(attachment.getDataAsString(), ",");

есть ли способ найти и заменить все экземпляры точки с запятой чем-тонапример, «$» с использованием командного файла или чего-то еще, или еще лучше, просто способ игнорировать символ в скрипте приложения, который я запускаю?

1 Ответ

0 голосов
/ 16 октября 2018

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

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