Google 脚本:如何编写脚本将驱动器中的 txt 文件自动导入到电子表格中?

Google Script: How to script an automatic import from a txt in my drive into spreadsheet?

我以前从未使用过 Javascript 并且我已经尝试了很长时间但没有运气,而且我找不到以前的人尝试过。 我想直接从我的驱动器中的这个 txt 文档复制文本数据,可以手动执行此操作,但我希望它每天自动完成。

文本文档;

Boxes Made,3  
Target Percentage,34  
Hourly Rate,2

如果我将其导入到具有这些设置的电子表格中,那就完美了;

Import Settings

它是这样导入的;

After Import

现在我需要尝试将其自动化,以便脚本自动导入它。 我目前的脚本不工作,请帮助。

当前脚本;

 function AutoImporter (Source)
{
  var Source = DriveApp.getFilesByName('DailyData.txt');
  var TextContents = Source.copyText();
  var Target = SpreadsheetApp.getActiveSheet();
    
  Target.appendText(TextContents[1]);  
  }

--编辑

有人刚刚给我发了一个看起来更接近但仍然无效的脚本;

function autoCSV() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var s=ss.getActiveSheet();
  var r=s.getActiveCell();
  var id="DailyData.txt";//<<<<<enter the ID of the text file
  var f3=DriveApp.getFileById(id);
  var lst1=f3.getBlob().getDataAsString().split('\n').map(function(x) {return x.split(',')});
  var ncols=1,i,lst2=[];
  for (i in lst1) {if (lst1[i].length>ncols) ncols=lst1[i].length;}
  for (i=0;i<ncols;i++) lst2.push('');
  for (i in lst1) lst1[i]=lst1[i].concat(lst2.slice(0,lst2.length-lst1[i].length));

  s.getRange(r.getRow(), r.getColumn(), lst1.length, ncols).setValues(lst1);
}

您可以从 Google 中读取文本文件,这样开车:

'use strict'; // <- Always use strict mode.

function foo() {

  var fileName = 'DailyData.txt';
  var files = DriveApp.getFilesByName(fileName);
  if (!files.hasNext()) {
    throw new Error('No file with name:' + fileName);
  }
  // We take only the first file among all files with such name.
  var file = files.next();
  var text = file.getBlob().getDataAsString('utf8');
  Logger.log(text);
  // Now you have to parse the file.

}

文档:

  1. DriveApp.getFilesByName returns File 合集。
  2. File.getBlob returns Blob.
  3. Blob.getDataAsString returns String.