【发布时间】:2014-11-27 05:53:22
【问题描述】:
我正在尝试对从 csv 文件导入的一些数据进行一些清理。我想出了如何获取我需要的某些列的格式,但我正在努力处理每行两端的双引号。我假设由于getDataAsString() 函数而添加了引号。
正如您从下面看到的,我正在尝试使用replace() 来消除最后一列值中的双引号。记录器显示没有" 的数据,但我使用的行对工作表中的数据没有任何影响。我怀疑这是因为到目前为止我对脚本所做的一切都是在说“向我显示最后一列中没有引号的值”,但实际上并未更新数据。
如何将“显示”行转换为实际的更改数据行?
function importFromCSV() {
var file = DriveApp.getFileById(listLatestFile());
//var csvFile = file.getBlob().getDataAsString();// get string content
var csvFile = file.getAs('text/plain').getDataAsString();
//Logger.log(csvFile);// check in the logger
var csvData = CSVToArray_(csvFile);// convert to 2D array
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("ImpCSVData");
sheet.clear();
sheet.getRange(1,1, csvData.length, csvData[0].length).setValues(csvData);// write to sheet in one single step
var test = sheet.getRange(1,csvData[0].length, csvData.length, 1).getValue().replace("\"","");
Logger.log(test);
sheet.getRange(1,4, csvData.length, 2).setNumberFormat("DD/MM/YYYY");
sheet.getRange(1,6, csvData.length, 1).setNumberFormat("@STRING@");
sheet.getRange(1,csvData[0].length, csvData.length, 1).getValue().replace("\"","");
}
【问题讨论】:
标签: google-apps-script google-sheets