Перейти к содержимому

Генератор HTML-таблиц из CSV

Преобразует CSV-данные в HTML-таблицу с живым предпросмотром. Опции стилизации, заголовков и CSS-классов.

Об этом инструменте

CSV (значения, разделённые запятыми) — один из наиболее универсальных форматов данных для хранения и обмена табличной информацией. Преобразование CSV в таблицы HTML необходимо веб-разработчикам, создателям контента и аналитикам данных, которым требуется отображать структурированные данные на веб-сайтах, в электронных письмах или документации без ручного ввода HTML-разметки. HTML-таблица обеспечивает надлежащую семантическую структуру, поддержку доступности и гибкость стилизации, которые простой CSV просто не может предложить.

Чтобы использовать этот генератор, вставьте свои данные CSV в поле ввода, и инструмент мгновенно создаёт корректный HTML-код таблицы с настраиваемыми параметрами. Вы можете указать, следует ли рассматривать первую строку как заголовки, добавить CSS-классы для стилизации и контролировать структуру таблицы. Это особенно полезно при переносе данных из электронных таблиц на веб-страницы, встраивании данных в документацию или подготовке содержимого для рассылок по электронной почте, требующих чистого HTML-форматирования. Живой просмотр показывает, как именно будет отображаться ваша таблица перед копированием кода.

Генератор работает полностью в вашем браузере без требуемой загрузки на сервер, гарантируя конфиденциальность ваших данных. Вы можете скопировать сгенерированный HTML непосредственно на ваш веб-сайт, в CMS или шаблон электронной почты. Независимо от того, являетесь ли вы разработчиком, автоматизирующим рабочие процессы с данными, маркетологом, подготавливающим электронные кампании с таблицами данных, или аналитиком компании, делящимся отчётами, этот инструмент исключает утомительную работу по ручному кодированию таблиц HTML и гарантирует согласованный, надлежащим образом отформатированный результат каждый раз.

Часто задаваемые вопросы

Реализация кода

import csv
import io

def csv_to_html_table(csv_text, has_header=True, bordered=True):
    reader = csv.reader(io.StringIO(csv_text.strip()))
    rows = list(reader)
    if not rows:
        return ""

    style = ""
    if bordered:
        style = "<style>table{border-collapse:collapse}th,td{border:1px solid #ddd;padding:8px}th{background:#4f46e5;color:#fff}</style>\n"

    html = [style + '<table class="table">']
    start = 0
    if has_header:
        html.append("  <thead><tr>")
        for cell in rows[0]:
            html.append(f"    <th>{cell}</th>")
        html.append("  </tr></thead>")
        start = 1

    html.append("  <tbody>")
    for row in rows[start:]:
        html.append("  <tr>")
        for cell in row:
            html.append(f"    <td>{cell}</td>")
        html.append("  </tr>")
    html.append("  </tbody>")
    html.append("</table>")
    return "\n".join(html)

csv_data = """Name,Age,City
Alice,30,New York
Bob,25,London
Carol,35,Tokyo"""

print(csv_to_html_table(csv_data))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.