Я пытаюсь создать таблицу, связанную с файлом *.csv
, используя d3, но все, что я получаю, - это пустая веб-страница. Даже на примере Крыма я получаю пустую страницу.
Я был бы признателен, если бы был направлен или показан рабочий пример или предложение о том, что я делаю неправильно.Создание таблицы, связанной с файлом csv
ответ
Если вы спрашиваете о создании таблицы HTML из данных CSV, это то, что вы хотите:
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; });
});
Отъезд working example. Если вы копируете этот код, вам нужно будет обновить функцию tabulate()
, чтобы она либо выбирала существующую таблицу, либо другой контейнер (а не "#container"
), тогда вы можете использовать его с данными CSV следующим образом:
Очень интересно. Большое спасибо за Вашу помощь. –
Отличный ответ - спасибо! –
Этот пример не работает в настоящее время, элементы td пусты. Не могли бы вы посмотреть этот SO-вопрос http: // stackoverflow.com/questions/23399462/d3-table-example-yields-empty-td-tags –
В ответе, предложенном @Shawn_allen, есть ошибка.
Для решения это просто измените следующую строку кода
return {column: column, value: row[column]};
этим один
return {column: column, value: row[columns.indexOf(column)]};
Наслаждайтесь!
Часто мне нужно периодически обновлять таблицу данных. Вот как я заполнить таблицу с данными:
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;
}
Примечания:
- Я хотел поставить заголовки таблицы в HTML, а чем генерировать их из JavaScript.
- Я не прикреплял данные к строкам и ячейкам таблицы (например, @Shawn показывает в своем ответе), потому что у меня нет необходимости в этом. Таким образом, код проще.
Я сожалею, чтобы добавить это в качестве нового ответа, но у меня нет достаточно очков, чтобы добавить его в качестве комментария. Просто слегка подкорректируйте конец кода @Shawn_Allen. Я считаю, что это тоже работает.
//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; });
});
Не нужно было создавать этот JSON со столбцом, значением.
- 1. JMeter ждет выполнения команды if, связанной с файлом CSV
- 2. Создание выпадающий список из связанной таблицы
- 3. Динамическое создание таблицы из csv
- 4. Создание таблицы с использованием локального файла CSV
- 5. Создание связанной модели с рельсами
- 6. Создание таблицы улей над сложным паркетным файлом
- 7. Создание метода getList с файлом csv в качестве входного параметра
- 8. Создание Pandas DataFrame с файлом HDFS в формате .csv
- 9. Pentaho | Проблема с CSV-файлом для вывода таблицы
- 10. Карта с большим CSV-файлом
- 11. словарь python с файлом csv
- 12. Команда cat с файлом csv
- 13. преобразование символов с CSV-файлом
- 14. Обновление базы данных Access с CSV-файлом
- 15. Ограничение результатов связанной таблицы
- 16. OrderBy сумма связанной таблицы
- 17. awk манипулирует csv-файлом
- 18. Создание списка CSV из таблицы sql
- 19. Создание связанной таблицы в MS-Access DB на веб-сервере
- 20. с использованием <redirect с csv-файлом
- 21. Создание дополнительной связанной модели с помощью Devise
- 22. Создание диаграммы, связанной с ячейкой excel
- 23. Запуск Java-программы, связанной с файлом Jar OpenCV
- 24. тест для связанной с файлом функции в python
- 25. Segfault в конце программы C++, связанной с файлом i/0
- 26. AJAX не работает PHP получается из формы, связанной с файлом?
- 27. Поиск версии SQLite, связанной с двоичным файлом в Linux
- 28. Filemaker GetSummary из связанной таблицы
- 29. CakePHP: изменение записи связанной таблицы
- 30. MySQL, получающий подсчет связанной таблицы
Пожалуйста, покажите нам некоторый код, который реплицирует проблему. – Dogbert
См. Также пример, приведенный в документах D3 для selection.data(): https://github.com/mbostock/d3/wiki/Selections#data – DGrady