我正试图简单地将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、分隔符)