Как создать HTML таблицу с помощью Python
Как известно Python может стать отличным инструментом для автоматизации задач, которые в противном случае пришлось бы выполнять вручную. Возможности Python могут сэкономить часть работы, особенно при работе с большими файлами HTML.
Программное написание HTML
Со всеми открывающими и закрывающими тегами HTML может быть трудоёмким для написания. К счастью, Python идеально подходит для программного создания больших файлов HTML.
В статье мы рассмотрим создание таблицы эмодзи в виде emoji.html, при помощи языка Python.
Возьмем в качестве примера такой html файл.
<!-- emoji.html -->
<!-- ... -->
<h1>My favorite emoji</h1>
<p>I don't just <em>like</em> emoji,<br>
I <strong>love</strong> emoji!</p>
<p>Here's a table of my most-used emoji:</p>
<table>
<thead>
<tr>
<th>#</th>
<th>Emoji</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.</td>
<td>🐞</td>
<td>Lady Beetle</td>
</tr>
<tr>
<td>2.</td>
<td>🐍</td>
<td>Snake</td>
</tr>
<tr>
<td>3.</td>
<td>👍</td>
<td>Thumbs Up Sign</td>
</tr>
</tbody>
</table>
<!-- ... -->
Вы определяете таблицу HTML с помощью элемента table>, а строки таблицы — с помощью tr. Как и таблица в электронной таблице, таблицы HTML могут иметь заголовок и тело таблицы. Хотя использование thead и tbody не является обязательным для работы таблицы, рекомендуется добавлять их в разметку таблицы.
В заголовке таблицы вы определяете три столбца таблицы, добавляя три элемента th в первую строку.
Тело таблицы содержит одинаковое количество столбцов и одну или несколько строк. Для ячеек данных таблицы вы используете тот же элемент td, что и в заголовке таблицы.
Даже при небольшом количестве, например двенадцати любимых смайлов, было бы неприятно создавать HTML-таблицу вручную. Итак, настал черед Python!
Создайте новый файл Python с именем emoji_table.py:
# emoji_table.py
import unicodedata
all_emoji = "🐞🐍👍🤩😥🐶😎💬😘"
columns = ["#", "Emoji", "Name"]
table_head = f"<thead>\n<tr><th>{'</th><th>'.join(columns)}</th></tr>\n</thead>"
table_body = "\n<tbody>\n"
for i, emoji in enumerate(all_emoji, start=1):
emoji_data = [f"{i}.", emoji, unicodedata.name(emoji).title()]
table_body += f"<tr><td>{'</td><td>'.join(emoji_data)}</td></tr>\n"
table_body += "</tbody>\n"
print(f"<table>\n{table_head}{table_body}</table>")
С помощью встроенного модуля unicodedata и enumerate() , Python может программно создать для вас таблицу.
Запустите emoji_table.py в своем терминале, скопируйте HTML-код и вставьте его в emoji.html.
Таким образом, с помощью встроенных средств Python возможно создание достаточно больших html структур, что несомненно сэкономить время начинающего web программиста.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.