Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # задача - преобразовать DataFrame в обычный HTML
- # решение - использование шаблонизатора Jinja2
- # 1. на первом шаге описывается шаблон HTML-страницы
- # 2. на втором шаге описывается шаблон, в который будут вставляться данные из DataFrame
- # 3. на третьем шаге через цикл генерируется HTML-текст, подставляются данные
- # 4. сохранение итогового файла на диск
- import pandas as pd
- from jinja2 import Template
- data = pd.read_csv('https://vk.com/doc207845555_611573740', sep='\t')
- # data.head(5)
- # шаблон для HTML-таблицы
- html = '''<html>
- <head>
- <title>Какие-то тестовые данные</title>
- <meta charset="utf-8"/>
- </head>
- <body>
- <table border="1">
- <tr>
- <th>id</th>
- <th>date</th>
- <th>user_id</th>
- <th>duration</th>
- <th>medium</th>
- <th>source</th>
- <th>cost</th>
- <th>order_id</th>
- <th>amount_paid</th>
- </tr>'''
- html_content = '''<tr>
- <td>{{ data.id }}</td>
- <td>{{ data.date }}</td>
- <td>{{ data.user_id }}</td>
- <td>{{ data.duration }}</td>
- <td>{{ data.medium }}</td>
- <td>{{ data.source }}</td>
- <td>{{ data.cost }}</td>
- <td>{{ data.order_id }}</td>
- <td>{{ data.amount_paid }}</td>
- </tr>'''
- html_footer = '</table></body></html>'
- # запись DataFrame в HTML
- for i, item in data.iterrows():
- html += Template(html_content).render(data=item)
- html += html_footer
- # сохранение HTML
- with open('test.html', 'a') as file:
- file.write(html)
Add Comment
Please, Sign In to add comment