【问题标题】:how to count number of values for each row in *.CSV file using javascript?如何使用javascript计算* .CSV文件中每一行的值数?
【发布时间】:2013-08-02 04:57:19
【问题描述】:

我的 csv 数据看起来像这样

1,2,"hi,how ar you?",abc
3,5,a,b,c
expected output should be
4
5

【问题讨论】:

标签: javascript csv row


【解决方案1】:
'1,2,"hi,how ar you?",abc'.match(/"[^"]*"|[^,]+/g).length
4
'3,5,a,b,c'.match(/"[^"]*"|[^,]+/g).length
5

【讨论】:

  • 想知道 OP 是否关心引用值中的转义引号?
  • 好吧,如果他问,应该也有办法。
  • 嗨,谢谢你能告诉我如何从 csv 文件中逐行读取吗?
  • 读取整个文件并用“\n”或“\r\n”分割它,如csv_file_content.split("\n")
【解决方案2】:

试试这个源自另一个帖子的方法:

   var csvLines = '1,2,"how ar you?",abc' + "\n" + '1,4,"fine",6,7';
   var splitByChars = ',';

   var totalCount = 0;
   var linesArray = csvLines.split("\n");

   var lineCount = 0;

   while (lineCount < linesArray.length) {
       totalCount += StringCount(csvLines, splitByChars);
       lineCount++;
   }

   alert(totalCount);

   function StringCount(stringToSplit, splitBy) {
       var words = stringToSplit.split(splitBy);
       return words.length;
   }

【讨论】:

  • 这里是源代码出处的链接:stackoverflow.com/questions/13893634/…
  • 我想他只想知道每行的列数,而不是每个单词的出现次数。而且您似乎没有采取任何措施来避免将 "hi,how ar you?" 视为 2 列。
  • 我期待与 Barmer 相同的答案
猜你喜欢
  • 2020-09-21
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 2015-08-27
  • 2023-02-05
  • 2014-09-07
  • 1970-01-01
  • 2011-10-14
相关资源
最近更新 更多