[英]Copy & replace/insert loads of data from CSV file located on Google Drive to SpreadSheet
我從另一項服務中獲取數據到Google雲端硬盤。 其格式為CSV,並保存在Google雲端硬盤中的.csv中。 每個文件的大小約為5MB,> 17K行!。 我嘗試使用“導入”腳本,但是沒有用,它只能處理較小的文件,但我只想將整個csv復制到電子表格中,而不必關心舊數據。
function import() { var fSource = DriveApp.getFolderById("****"); // reports_folder_id = id of folder where csv reports are saved var fi = fSource.getFilesByName('report.csv'); // latest report file var ss = SpreadsheetApp.openById("***"); // data_sheet_id = id of spreadsheet that holds the data to be updated with new report data var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") if ( fi.hasNext() ) { // proceed if "report.csv" file exists in the reports folder var file = fi.next(); var csv = file.getBlob().getDataAsString(); var csvData = CSVToArray(csv); // see below for CSVToArray function for ( var i=0, lenCsv=csvData.length; i<lenCsv; i++ ) { sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i])); } /* ** report data is now in 'NEWDATA' sheet in the spreadsheet - process it as needed, ** then delete 'NEWDATA' sheet using ss.deleteSheet(newsheet) */ // rename the report.csv file so it is not processed on next scheduled run // file.setName("report-"+(new Date().toString())+".csv"); } };
我猜想如果您的腳本正在處理那么多行,那么它可能會超時。 您可以做一些優化代碼的事情:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.