Google Apps脚本,创建一个csv文件并继续追加

时间:2018-02-21 19:19:11

标签: google-apps-script

我想通过附加到文件来创建csv文件,而不是一次创建文件。这可能吗?

DriveApp.createFile使用一次性创作。在我阅读大量记录并且宁愿抓住这么多记录并附加到文件时会出现问题吗?我在谷歌应用脚​​本中创建的数组大小是否有限制?我想在csv文件中记录超过50万条记录。感谢。

1 个答案:

答案 0 :(得分:0)

APPS脚本使用Drive API只是没有“添加”方法,

您可以创建一个文件,然后像下面这样更新其全部内容:

function appendDataToCSV(content){
  var fileId = '', // update this file with it's ID
      csvFile = DriveApp.getFileById(fileId),
      currentFileContent = "",
      stringContent = "",
      delimiter = ";";

  //in case your content is a 2D array like:
  // [[1,2,3,4],[5,6,7,8]]
  if(content instanceof Array){
    for(var i=0;i<content.length;i++){
      stringContent += (content[i].join ? content[i] : content).join(delimiter);
    }
  }

  stringContent = stringContent || content || "";

  if(stringContent){
    // get file's current text content
    currentFileContent = csvFile.getBlob().getDataAsString();

    // update the csv file with its previous content + the new one adding a new row between
    csvFile.setContent(currentFileContent + "\n" + stringContent);
  }
  return "CSV File updated! New size: "+csvFile.getSize();
}

但是,文件大小上限为10MB;

最诚挚的问候!