【发布时间】:2022-06-14 11:13:36
【问题描述】:
我是新手,我很确定我没有在我的函数“importData”中正确设置 for 循环:
function urlsToSheets(){
importData("https://hub.arcgis.com/datasets/d3cd48afaacd4913b923fd98c6591276_36.csv", "Pavement Condition");
importData("https://hub.arcgis.com/datasets/lahub::tctmc-streets-of-significance-construction-impacted-streets.csv", "Streets of Significance");
importData("https://geohub.lacity.org/datasets/lahub::one-year-moratorium-streets.csv", "One-Year Moratorium");
importData("https://hub.arcgis.com/datasets/lahub::boe-permits-lines.csv", "BOE Permit Lines")
importData("https://hub.arcgis.com/datasets/lahub::archived-boe-permits-lines.csv", "Archived BOE Permit Lines");
importData("https://hub.arcgis.com/datasets/lahub::boe-permits-points.csv", "BOE Permit Points");
importData("https://hub.arcgis.com/datasets/56318ef6ed6444d981977adf80157b87_5.csv","Archived BOE Permit Points");
}
function importData(url, sheetName){
const file = UrlFetchApp.fetch(url);
const csv = file.getBlob().getDataAsString();
const csvData = csvToArray(csv);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
sheet.clear();
for (let i = 0; i <= csvData.length; i++){
sheet.getRange(1, 1, csvData.length, csvData[i].length).setValues(csvData);
}
}
每个网址都有数千行;第一个 URL 有 85k 行数据。 csvData 需要 10 多分钟才能传输到其预期的工作表。
我做错了什么?我怎样才能更快地做到这一点?
谢谢!
【问题讨论】:
-
csvToArray是什么? -
我用来清理 csv blob-turned-string 并将其转换为数组的另一个函数。
标签: for-loop google-apps-script