google-apps-script - 如何将 gmail 附件中的大数据 CSV 复制到谷歌表格中?
问题描述
我正在尝试从共享电子邮件中位于特定文件夹中的 CSV 报告中获取数据,并将 Google 表格中特定选项卡中的旧数据替换为新数据。
我已经尝试了不同的解决方案,但似乎没有一个能把我带到我想要的地方。下面的代码是我生成的最干净的代码,但由于某种原因,它什么也没做,可能是因为需要复制的文件的大小,因为可能有超过 600000 个数据单元。
我已经尝试了不同的解决方案,但似乎没有一个能把我带到我想要的地方。下面的代码是我生成的最干净的代码,但由于某种原因,它什么也没做,可能是因为需要复制的文件的大小。
function importCSVFromGmail() {
var threads = GmailApp.search("label:its {to:sharedemail@company.com} newer_than:1d");
var message = threads[0].getMessages().pop();
var attachment = message.getAttachments()[0];
if (attachment != null) {
var attachName = attachment.getName();
// Is the attachment a CSV file
if (attachName.substring(attachName.length-4) === ".csv") {
var id = "1GyGxSwUtITeje0-Qx63rB8xChMSbLvn1FDCOKOJITio";
var name = "ALLDATA";
var sheet = SpreadsheetApp.openById(id);
var tab = sheet.getSheetByName(name);
var tabInfo = sheet.getSheetByName("INFO");
tabInfo.getRange("B1").setValue(new Date());
// Clear the content of the sheet
tab.clearContents().clearFormats();
var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
tab.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
}
}
执行上述代码时,我没有得到任何结果,也没有错误,尽管它可以完美地处理较小的文件。我不确定为什么会这样。
任何想法将不胜感激。
谢谢!
解决方案
推荐阅读
- android - 在 Kotlin 中使用 contains() 的搜索系统以及与字符串和列表的结果差异
- python - 在 Python (pandas) 中填写缺失的日期和时间
- mocha.js - before(..) 块中的 cy.visit() 导致 CypressError:无法在正在运行的测试之外调用 cy.visit()
- python - PyCharm 处理本地包的方式不同吗?
- java - 在 Java 中运行线程时更改线程优先级的条件是什么?
- android - 后台服务无通知
- python - CERBOT ContextualVersionConflict: (zope.interface 4.3.2 (/usr/lib/python3/dist-packages)
- dart - 如何在飞镖中值部分的地图数据结构中分配变量?
- forms - 按钮打开表格
- python - 我尝试使用带有 OpenAI gym Environment 的 pytorch 实现 DQN。但是我的episode_rewardis减少了。为什么?