Google工作表Utilities.parseCsv应用程序脚本出现问题

时间:2018-10-15 13:31:36

标签: csv parsing google-apps-script google-sheets

我正在运行一个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 :(得分:0)

感谢我能够让生成源文件的人员清理其输出,因此不再是问题。