如何跳过 CSV 中的第一行项目?

Posted

技术标签:

【中文标题】如何跳过 CSV 中的第一行项目?【英文标题】:How can I skip the first line of items from a 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() 【参考方案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()

【讨论】:

以上是关于如何跳过 CSV 中的第一行项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何跳过有效载荷的第一行-常规

Python Pandas read_csv 跳过行但保留标题

在 Yii2 中跳过 CSV 文件的第一行

从串口写入数据时如何跳过第一行?

添加行时如何使python停止跳过csv文件中的行[重复]

用python如何跳过文件的第一行并且统计剩下部分的某一个字符串的个数