Estoy tratando de crear una tabla vinculada a un archivo *.csv
usando d3, pero todo lo que obtengo es una página web en blanco. Incluso con el ejemplo de Crimea me aparece una página en blanco.
Estaría agradecido de ser dirigido o mostrar un ejemplo de trabajo o una sugerencia de lo que estoy haciendo mal.Crear una tabla vinculada a un archivo csv
Respuesta
Si preguntas acerca de cómo crear una tabla HTML a partir de datos CSV, esto es lo que quiere:
d3.csv("data.csv", function(data) {
// the columns you'd like to display
var columns = ["name", "age"];
var table = d3.select("#container").append("table"),
thead = table.append("thead"),
tbody = table.append("tbody");
// append the header row
thead.append("tr")
.selectAll("th")
.data(columns)
.enter()
.append("th")
.text(function(column) { return column; });
// create a row for each object in the data
var rows = tbody.selectAll("tr")
.data(data)
.enter()
.append("tr");
// create a cell in each row for each column
var cells = rows.selectAll("td")
.data(function(row) {
return columns.map(function(column) {
return {column: column, value: row[column]};
});
})
.enter()
.append("td")
.text(function(d) { return d.value; });
});
Mira la working example. Si está copiando ese código, deberá actualizar la función tabulate()
para que seleccione una tabla existente o un contenedor diferente (en lugar de "#container"
), luego puede usarlo con datos CSV como los siguientes:
d3.csv("path/to/data.csv", function(data) {
tabulate(data, ["name", "age"]);
});
Muy interesante. Muchas gracias por su ayuda. –
¡Gran respuesta, gracias! –
Este ejemplo no funciona ahora, los elementos td están vacíos. ¿Puedes ver esta pregunta SO http: // stackoverflow.com/questions/23399462/d3-table-example-yields-empty-td-tags –
Hay un error en la respuesta propuesta por @Shawn_allen.
Para solucionarlo basta con cambiar la siguiente línea de código
return {column: column, value: row[column]};
por éste
return {column: column, value: row[columns.indexOf(column)]};
chat!
A menudo, necesito actualizar una tabla de datos periódicamente. Aquí es cómo rellenar una tabla con los datos:
HTML:
<table id="t1">
<thead>
<tr><th>Name<th>Age
</thead>
</table>
JavaScript:
function tabulate(data, columns) {
var table = d3.select("#t1");
table.select('tbody').remove(); // remove any existing data
var tbody = table.append('tbody');
data.forEach(function(row) {
var tr = tbody.append('tr');
columns.forEach(function(column) {
tr.append('td').text(row[column]);
});
});
return table;
}
Notas:
- me gusta poner encabezados de tabla en el código HTML, en lugar que generarlos desde JavaScript.
- No adjunté los datos a las filas y celdas de la tabla (como muestra @Shawn en su respuesta), porque no tengo necesidad de eso. Entonces el código es más simple.
Lo siento añadir esta sesión como una nueva respuesta, pero no tengo suficientes puntos para añadirlo en como un comentario. Solo un ligero ajuste al final del código de @Shawn_Allen. Yo creo que esto también funciona.
//create a cell in each row for each column
var cells = rows.selectAll("td")
.data(function(row) {
return columns.map(function(column) {
return row[column];
});
})
.enter()
.append("td")
.text(function(d) { return d; });
});
No hubo necesidad de crear ese JSON con columna, valor.
- 1. Exportar tabla desde Amazon RDS a un archivo csv
- 2. Crear un archivo csv vacío en R
- 3. jQuery Tabla a exportación CSV
- 4. ¿Cómo copiar una tabla vinculada a una tabla local en Ms Access programmatically?
- 5. Crear una matriz a partir de un archivo CSV utilizando el objetivo C
- 6. Cómo crear una matriz a partir de un archivo CSV utilizando PHP y la función fgetcsv
- 7. ¿Cómo anexar a un archivo CSV?
- 8. Crear un archivo utf-8 csv en Python
- 9. Agregue una nueva línea a un archivo CSV
- 10. Python escritura una matriz numpy a un archivo CSV
- 11. ¿Cómo agregar una nueva columna a un archivo CSV?
- 12. ¿Cómo crear un archivo CSV separado de VBA?
- 13. Convertir archivo CSV a XML
- 14. cómo convertir CSV a tabla en Oracle
- 15. Muestra dinámicamente un archivo CSV como una tabla HTML en una página web
- 16. Crear una tabla de columnas CSV en SQL Server sin necesidad de utilizar un cursor
- 17. Oracle: Importar archivo CSV
- 18. Cómo crear una base de datos h2 desde algunos campos de un archivo CSV
- 19. Convertir archivo CHM a CSV o SQL
- 20. Crear una tabla parecida a Tkinter
- 21. Comprobando si un archivo CSV grande (1m filas) tiene los mismos datos que una tabla MySQL
- 22. Cree dinámicamente un archivo CSV con FileHelpers
- 23. Importación de un archivo CSV en una tabla de base de datos sqlite3 usando Python
- 24. ¿Cómo crear un archivo de Excel basado en un archivo CSV utilizando Java?
- 25. openquery funciona mucho más rápido que una consulta directamente a una tabla vinculada
- 26. Crear una tabla SQL a partir de un archivo xls (Excel)
- 27. ¿Cómo puedo volver a crear una tabla MySQL InnoDB desde un archivo .ibd?
- 28. Crear una tabla de contenido a partir de un archivo pdf
- 29. ¿Cómo creo un archivo CSV usando Perl?
- 30. ¿Cómo crear y completar una tabla en un solo paso como parte de una operación de importación de CSV?
Por favor, muéstranos un código que replique el problema. – Dogbert
Vea también el ejemplo dado en los documentos D3 para selection.data(): https://github.com/mbostock/d3/wiki/Selections#data – DGrady