Надеюсь сегодня у вас отличное настроение, но перейдем к сути вопроса.
Есть list:
relations_table = [[0 for i in range(0, len(sounds))] for j in range(0, len(sounds))]
for i in relations:
relations_table[i.left_sound_id-1][i.right_sound_id-1] = i.weight
Выглядит примерно так:
[[25, 98, 40, 17, 66, 65, 41, 11, 70, 58], [89, 93, 35, 89, ...
Как заполнить эти данные в html таблицу, где индекс обозначает ряд и столбец клетки со значением?
Если можно пример кода. Спасибо.
Самое простое решение:
relations_table = [[25, 98, 40, 17, 66, 65, 41, 11, 70, 58], [89, 93, 35, 89, 40, 17, 66, 65, 41, 99]]
html = '<table>'
for row in relations_table:
html += '<tr>'
for value in row:
html += '<td>{}</td>'.format(value)
html += '</tr>'
html += '</table>'
print(html)
Другой вариант, более удобный для сложных данных -- шаблонизатор jinja:
# pip install jinja2
import jinja2
template = jinja2.Template('''
<table cellspacing="2" border="1" cellpadding="5">
{% for row in relations_table %}
<tr>
{% for value in row %}
<td>{{ value }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
''')
html = template.render(relations_table=relations_table)
print(html)
Вот так будет выглядеть таблица в браузере:
Можно и более сложные штуки создавать. Пример генерации html страницы через jinja2
Можно воспользоваться модулем Pandas:
import pandas as pd
html = pd.DataFrame(relations_table).to_html(header=None, index=False, border=2)
with open('d:/temp/a.html', 'w') as f:
f.write(html)
Результат:
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Помогите, ломаю голову уже который день надо этим, в общем, есть html: