在Google Apps脚本中将数组从CSV导入Fusion表

时间:2017-02-18 18:02:49

标签: google-apps-script google-fusion-tables import-from-csv

通过此代码,我可以逐行将CSV文件导入Fusion Table。 有一种方法可以一步导入整个阵列而无需逐行循环? 在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);
      } 
    }
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分: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);

我总是通过导入上面的字符串来使用Fusion Table。