【发布时间】:2019-12-31 08:29:39
【问题描述】:
我正在使用 Google Scripts 解析来自 Gmail 的 .txt 附件(由“|”分隔),然后将其粘贴到电子表格中。
.txt 示例:
08006473900634|9470182100|16|2020-01-09|2019-12-31
08006473901259|9930822100|8|2020-01-08|2019-12-31
08006473029496|9930812100|6|2020-01-08|2019-12-31
08006473029489|9470082100|6|2020-01-09|2019-12-31
现在,我只能使用 utilities.parseCsv 函数解析 csv 文件
谁能告诉我这样做的正确方法是什么?
在我的 CSV 脚本部分下方。
if (threads.length != 0) {
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
var attachName = message.getAttachments()[0].getName();
var subject = message.getSubject();
//Is the attachment a CSV file
if (attachment.getContentType() === "text/csv" || attachment.getContentType() === "application/octet-stream") {
var spreadsheet = SpreadsheetApp.openById("1kyiyc4wB6yZVeO_Wcs2yeUk_pb");
var sheet = spreadsheet.getSheetByName("DATA");
var csvData = Utilities.parseCsv(attachment.getDataAsString(), "|");
sheet.getRange(sheet.getLastRow()+1, 1, csvData.length, csvData[0].length).setValues(csvData);
【问题讨论】:
-
你可以用同样的方法
parseCsv(csv, delimiter),你用.txt文件试过了吗?如果您遇到任何错误,那么您可以在attachment.getDataAsString()中简单地将|替换为,。让我知道是否有帮助,我会将其添加为答案 -
谢谢!起初它没有用,但它没有!太棒了