Tabela html w pythonie

Data: 2017-12-24, autor: Michał Misztal

Według mnie nie ma niczego gorszego niż tabele w html. Masa niemożliwych do wyobrażenia znaczników. Jeden błąd i wszystko się rozlatuje. W PHP całość się nieco prostuje bo tabelę można utworzyć automatycznie. Co jeśli nie mamy dostępu do backendu?

Kolejny przydatny skrypcik w Pythonie - automatyczne tworzenie tablicy ze znacznikami html. Całość jest prosta - brak col- czy rowspanów i dodatkowych znaczników.

Do thead() trafiają nagłówki i na tej podstawie jest liczona ilość kolumn (self.x). Jeśli ilość kolumn dla danych jest inna niż dla nagłówka to wyskoczy informacja w której linii dane się nie zgadzają. thead() jest opcjonalne. A kod wygląda tak



#! python3

class Tab():
    def __init__(self):
        self.table = ''
        self.x = 0
        self.naglowek = ''
        self.dane = ''

    def tab(self):
        self.table = '<table>\n%s\n</table>\n' % (self.table)

    def thead(self,naglowki):
        self.naglowek = '<thead>\n<tr>\n<th>%s</th>\n</tr>\n</thead>\n' % ('</th><th>'.join(naglowki))
        self.x = len(naglowki)
         
    def tbody(self,dane):
        self.dane += '<tbody>'
        i = 0
        for v in dane:
            i += 1
            if self.x != len(v):
                print('Niezgodność danych w linii '+str(i))
            self.dane += '\n<tr><td>%s</td></tr>' % ('</td><td>'.join(v))
        self.dane += '\n</tbody>'

    def pokaz(self):
        self.table = self.naglowek+self.dane
        self.tab()
        return self.table

#przykładowa tabela
t  = Tab()
t.thead(['a','b','c'])
t.tbody([
    ['1a','1b','1c'],
    ['2a','2b','2c']
])
print(t.pokaz())

Można jeszcze użyć modułu pyperclip, żeby wysłać tablicę do schowka lub wyeksportować ją do pliku.

Komentarze (2)

[2018-01-08 22:34:22] arni pisze:
Tabele w HTML? Polecam datatables - świetne i proste w implementacji
[2018-01-09 07:01:56] csk(admin) pisze: Re: Datatables
Nie znałem tego. Przyda się. Dzięki.

Skomentuj lub zgłoś błąd

© Michał Misztal 2018

Czytasz właśnie

Tabela html w pythonie
Autor: Michał Misztal
Data: 2017-12-24

Tagi

Podobne wpisy