Después de un largo viaje para descubrir cómo cargar archivos .csv en una tabla, me encontré con otro problema. Una de las columnas de mi archivo .csv se divide en otras columnas de mi tabla HTML.
Parte del problema estaba en el archivo en sí, donde el contenido se dividía en otras columnas. Después de arreglar todo (dejé uno a propósito), sigo enfrentando el mismo problema. No parece ser un problema de límite de caracteres, ya que se dividen después de palabras aleatorias cada vez.
La primera entrada en el archivo .csv es un ejemplo sencillo de lo que está pasando. Tampoco es todo en esa columna. La tabla se lee a través de ajax y jQuery con el siguiente código:
$(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); } }); }); });¿Se trata de algunas tablas de límites que tienen de forma innata o de algún otro problema por completo? He cambiado mínimamente el CSS de la tabla únicamente para que sea más fácil para mí mirar cuando llegue a organizar el diseño de la página.
Dado que solo está dividiendo los valores de cadena de coma por coma ( , ), también está dividiendo las cadenas en los valores de sus descripciones. En un archivo csv, los valores que pueden contener el separador ( , en este caso) u otros caracteres especiales se envuelven entre comillas "" , en su caso, en las descripciones.
No debe tener en cuenta ninguna coma que pueda residir dentro de una cadena entre comillas, ya que todo lo escrito dentro tiene en cuenta un valor único de una fila de columna.
Sugeriría usar una biblioteca, como csv-parser para manejar este tipo de análisis, ya que ese tipo de tareas pueden tener en cuenta muchos detalles con los que quizás no desee tener problemas.