0

通過此代碼,我可以逐行將CSV文件導入到Fusion Table中。 有一種方法可以在一個步驟中無需逐行循環地導入整個數組? 在Google Apps腳本中運行的代碼。將數組從CSV導入Google Apps腳本中的Fusion表格

function myCSV_FT() { 
 
     //Needs activate FT API in Resources menu 
 
     
 
     // Convert CSV in array 
 
     var csvUrl = "http://www.mysite.it/myfile.csv"; 
 
     var csvContent = UrlFetchApp.fetch(csvUrl).getContentText(); 
 
     var csvData = Utilities.parseCsv(csvContent); 
 
     
 
     //cycling array and put value in FT 
 
     for (var i = 0; i < csvData.length; i++) { 
 
     var csvInput = csvData[i][0] + ',' + csvData[i][1]; 
 
     var mediaData = Utilities.newBlob(csvInput, 'application/octet-stream'); 
 
     FusionTables.Table.importRows('FusionTableID', mediaData); 
 
     } 
 
    }

回答

0

怎麼樣的變化如下。

來源:

for (var i = 0; i < csvData.length; i++) { 
    var csvInput = csvData[i][0] + ',' + csvData[i][1]; 
    var mediaData = Utilities.newBlob(csvInput, 'application/octet-stream'); 
    FusionTables.Table.importRows('FusionTableID', mediaData); 
} 

要:

var csvInput = ''; 
for (var i = 0; i < csvData.length; i++) { 
    csvInput += csvData[i][0] + ',' + csvData[i][1] + '\n'; 
} 
var mediaData = Utilities.newBlob(csvInput, 'application/octet-stream'); 
FusionTables.Table.importRows('FusionTableID', mediaData); 

我總是通過導入串像上面使用融合表。

+0

謝謝。一個簡單的解決方案,但非常非常快。 csv文件16行的執行時間:18s vs 1s。具有1200行的Csv文件:最大執行時間vs 2s溢出! – gpsblues

+0

也謝謝你,我很樂意爲你效勞。 – Tanaike

相關問題