Создать гибкую HTML таблицу с помощью Python из данных Excel файл

126
01 декабря 2020, 07:20

Данные которые храняться в Excel файле в следующем виде :

Date        ID  Name    var1    var2    var3    commit
2019-05-10  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-04  123 Abc       *      *        *      32szx
2019-05-03  123 Abc       *      *        *      32szx
2019-05-01  123 Abc       *      *        *      32szx
2019-05-10  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-06  123 Abc       *      *        *      32szx
2019-05-04  123 Abc       *      *        *      32szx
2019-05-03  123 Abc       *      *        *      32szx
2019-05-01  123 Abc       *      *        *      32szx

Необходимо получить такую таблицу только в HTML с помощью Python.

Особенность заключается в том, что при данные меняются постоянно. В примере данных выше, необходимо по условию отобрать строки за текущий день.

Данная HTML таблица будет вставляться в письмо и отправляться юзерам.

Подскажите, в какой тип данныхн нужно из ексель импортировать в питон ? И как сделать автоматически изменяемый шаблон... спасибо за любую помощь

Answer 1

Используйте модуль Pandas:

import pandas as pd  #  pip install pandas
df = pd.read_excel(r'/path/to/file.xlsx', parse_dates=['Date'])
mask = df['Date'].dt.floor('D') == pd.to_datetime('today').floor('D')
df[mask].to_html(r'/path/to/file.html', index=False)

<table border="1" class="dataframe">\n  <thead>\n    <tr style="text-align: right;">\n      <th>Date</th>\n      <th>ID</th>\n      <th>Name</th>\n      <th>var1</th>\n      <th>var2</th>\n      <th>var3</th>\n      <th>commit</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n    <tr>\n      <td>2019-05-06</td>\n      <td>123</td>\n      <td>Abc</td>\n      <td>*</td>\n      <td>*</td>\n      <td>*</td>\n      <td>32szx</td>\n    </tr>\n  </tbody>\n</table>

READ ALSO
График функции на JavaScript

График функции на JavaScript

Необходимо с помощью JavaScript построить график функции y = х^2 + (е^2x)/(х-2) где e - экспонента (в степени 2*x), x = -5 и с шагом в 01 (т

118
Выборка значения и запись её в переменную. WEB API

Выборка значения и запись её в переменную. WEB API

Можно ли вытащить значение parentid из result и использовать её в parent?

134
Выбор поворота с помощью нейронной сети на AForge

Выбор поворота с помощью нейронной сети на AForge

Для курсовой работы пытаюсь прикрутить нейросеть на библиотеке AForgenet к миниигре, где требуется направить ракету в цель

147
Два Get запроса c#

Два Get запроса c#

Есть ли возможность сделать два Get запроса к одному API ? Например функция1 вернет число 1, функция2 вернет число 2Требуется для получение двух...

138