Как создать 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>&#128030;</td>
            <td>Lady Beetle</td>
        </tr>
        <tr>
            <td>2.</td>
            <td>&#128013;</td>
            <td>Snake</td>
        </tr>
        <tr>
            <td>3.</td>
            <td>&#128077;</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 = "&#128030;&#128013;&#128077;&#129321;&#128549;&#128054;&#128526;&#128172;&#128536;"
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 программиста.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.