单个 CSV 列正在使用 HTML table 中的多个列

Single CSV column is using multiple columns in HTML table

经过漫长的旅程弄清楚如何将 .csv 文件加载到 table 我已经 运行 进入另一个问题。我的 .csv 文件中的一列拆分为 HTML table.

中的其他列

部分问题出在文件本身,其中的内容实际上被分成了其他列。修复所有问题后(我故意留下一个),我仍然面临同样的问题。这似乎不是字符限制问题,因为它们每次都在随机单词后拆分。

.csv 文件中的第一个条目是正在发生的事情的简单示例。它也不是该专栏中的所有内容。 table 正在通过 ajax 和 jQuery 读取,代码如下:


$(document).ready(function(){
    $('#file').click(function(){
     $.ajax({
      url:"014 - Dark Beginning 1 2004.csv",
      dataType:"text",
      success:function(data)
      {
       var card_data = data.split(/\r?\n|\r/);
       var table_data = '<table class="table table-bordered table-striped">';
       for(var count = 0; count<card_data.length; count++)
       {
        var cell_data = card_data[count].split(",");
        table_data += '<tr>';
        for(var cell_count=0; cell_count<cell_data.length; cell_count++){
         if(count === 0){
          table_data += '<th>'+cell_data[cell_count]+'</th>';}
            else{
          table_data += '<td>'+cell_data[cell_count]+'</td>';}
        }
        table_data += '</tr>';
       }
       table_data += '</table>';
       $('#card_table').html(table_data);
      }
     });
    });
    
   });

这是 table 天生就有的一些限制还是完全是其他问题?我对 table 的 CSS 进行了非常小的更改,只是为了让我在组织页面布局时更容易查看。

因为您只是用逗号 (,) 拆分逗号字符串值,所以您也在拆分描述值中的字符串。在 csv 文件中,可能包含分隔符(在本例中为 ,)或其他特殊字符的值用引号 "" 括起来,在您的描述中。

您不得考虑可能存在于带引号的字符串中的任何逗号,因为在其中写入的所有内容都考虑列行的单个值。

我建议使用一个库,例如 csv-parser 来处理这种解析,因为这类任务可能会考虑很多您可能不想被打扰的细节。