0

С помощью этого кода я могу импортировать CSV-файл в таблицу Fusion по строке. Есть способ импортировать весь массив за один шаг без циклирования по строкам? Код работает в Google Apps Script.Импорт массива из таблицы CSV в таблицу Fusion в скрипте Google Apps

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); 
} 

To:

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); 

Я всегда использую таблицу Fusion путем импорта строк, как и выше.

+0

Спасибо. Простое решение, но очень очень быстрое. Выполнение времени для файла csv с 16 строками: 18 с против 1 с. Файл Csv с 1200 строк: переполнение для максимального времени выполнения vs 2s! – gpsblues

+0

Спасибо, тоже. Я рад быть полезен для вас. – Tanaike