无法在Google Apps Script中导入CSV数据.怎么了?



我正试图简单地将CSV文件导入特定的谷歌电子表格和特定的工作表。我见过人们用来将csv包含到Google Sheets中的多个版本,但我没有看到任何一个版本能够正常工作。我做错了什么?在这个例子中,我得到了错误"无法解析文本"。链接到Google Drive中的CSV文件

function importConduitRunsSchdeule() {
var ss = SpreadsheetApp.getActive();
var file = DriveApp.getFilesByName("CONDUIT_RUNS_REVIT.csv")
var csv = file.next().getBlob().getDataAsString();
var csvData = Utilities.parseCsv(csv);
if(csvData.length > 0) {
ss.getSheetByName('CONDUIT_RUNS_REVIT')
.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
} else
throw 'Blank file';
}

当我看到您提供的CSV数据时,分隔符似乎是t。并且,在列"one_answers";D"没有像"4"""那样的分隔符。当这反映在你的脚本中,下面的修改如何?

:

var csv = file.next().getBlob().getDataAsString();
var csvData = Utilities.parseCsv(csv);

:

var csv = file.next().getBlob().getDataAsString().replace(/"""/g, '"t""');
var csvData = Utilities.parseCsv(csv, "t");
  • 在本例中,列"D"为空列。如果您想删除此空列,请按如下方式修改:

    • :

      var csv = file.next().getBlob().getDataAsString().replace(/"""/g, '"');
      var csvData = Utilities.parseCsv(csv, "t");
      
  • 参考:

  • parseCsv (csv、分隔符)

最新更新