【问题标题】:How can I skip the first line of items from a CSV?如何跳过 CSV 中的第一行项目?
【发布时间】:2018-03-09 14:27:24
【问题描述】:

我正在尝试在以下函数中跳过 CSV 中项目的第一行或标题:

importFoods() {
  var csv= `foodname,category
    Banana,Produce
    Apple,Produce`;

  var lines = csv.split("\n");
  console.log('lines',lines);
  for(var l in lines) {
    var cols = lines[l].split(",")
    console.log('cols',cols);
    //0 is foodname
    //1 is category
    var globallistData = {
      foodname: cols[0],
      category: cols[1],
    };

    console.log(globallistData)
    const globalfoods = this.db.list('/globalfoods');
    globalfoods.push(globallistData);
  }
}

使用 Angular 或 Typescript / Javascript 的最佳方法是什么?

【问题讨论】:

  • lines.shift()

标签: javascript angular csv typescript


【解决方案1】:
importFoods(){
   var csv= `foodname,category
       Banana,Produce
       Apple,Produce`;

   var lines = csv.split("\n");
   console.log('lines',lines);
   for(var l=1; l<lines.length ;l++){
          var cols = lines[l].split(",")
          console.log('cols',cols);
         //0 is foodname
         //1 is category
         ....
    }
 }

【讨论】:

    【解决方案2】:

    你离得太近了!这是通过forEach迭代方法和join新数组项的简单解决方案:

    function importFoods() {
      var csv= `foodname,category
        Banana,Produce
        Apple,Produce`;
        
      var newCsv = [];
    
      var lines = csv.split("\n");
      lines.forEach(function(item, i) {
        if(i !== 0) newCsv.push(item);
      })
      
      newCsv = newCsv.join("\n");
      console.log(newCsv);
    }
    
    importFoods()

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 2012-07-14
      • 2016-09-29
      • 2018-06-12
      相关资源
      最近更新 更多