首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数组中删除引号

如何从数组中删除引号
EN

Stack Overflow用户
提问于 2015-06-12 08:00:25
回答 1查看 2.3K关注 0票数 1

我有一个脚本,它可以将数据从csv文件导入到Google表中。我想包括以下内容,以便从数据中删除引号-- .replace(/"/g,“),但不确定添加到现有脚本中的最佳位置/语法。

我是否将其添加到将csv数据转换为数组的部分-

代码语言:javascript
复制
    function CSVToArray_(strData){
      var rows = strData.split("\n");
      //Logger.log(rows.length);
      var array = [];
       for(n=0;n<rows.length;++n){
        if(rows[n].split(',').length>1){ 
        array.push(rows[n].split(','));
        }
        }
    Logger.log(array);
    return array;

}

...or到使用数组数据更新工作表的部分?

代码语言:javascript
复制
 var impSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CtrlSht").getRange("B8:B8").getValue();
  var csvData = CSVToArray_(csvFile);// convert to 2D array
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName(impSheet);
      sheet.clear();
      sheet.getRange(1,1, csvData.length, csvData[0].length).setValues(csvData);// write to sheet in one single step 

如有任何指导/建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-12 08:16:34

上面的代码是危险的,如果元素中有逗号,即使它在有效的csv引号中,也会中断。我建议去看看这个图书馆的https://code.google.com/p/jquery-csv/。另外,您希望删除引号还是希望将字符串值转换为数字?也就是说,您是否获得了"2"并希望它只是2,如果是这样,您可能只想将它解析为如下数字:parseInt("2")

如果您不关心上面的内容,那么下面的内容应该会有效:

代码语言:javascript
复制
function CSVToArray_(strData){
    var rows = strData.split("\n");
    //Logger.log(rows.length);
    var array = [];
    var array_inner;
    // iterate over rows
    for (n=0; n<rows.length; ++n) {
        array_inner = rows[n].split(',');
        if (array_inner.length>1) {    
            // iterate over columns
            for (m=0; m<array_inner.length; m++) {
                array_inner[m] = array_inner[m].replace(/"/g, ""); 
            }
            array.push(array_inner);
        }
    }
    Logger.log(array);
    return array

}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30798143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档