Skip to main content

Make pandas dataframe looking pretty again

Project description

pretty_html_table - Beautiful html tables made easy

Detailed usage documentation is still in progress The objective of this package is to convert a pandas dataframe into a pretty html table. As of now, 10 colors are available. This package is embedding very nicely with other packages used to send emails. The format is set down to the line item, which allows it to be understood by every email providers (instead of using CSS style).

This is how you can install it on your machine:

pip install pretty_html_table

This is for example how you can convert your dataframe:

from pretty_html_table import build_table
html_table_blue_light = build_table(pd.read_excel('df.xlsx'), 'blue_light')
print(html_table_blue_light)

Why choose pretty_html_table?

It integrates very well with other python packages used to send emails. Just add the result of this package to the body of the email and voila.

List of colors available

Name font style Header Rows
'blue_light' Century Gothic Bold: yes / Background color: white / Font color: dark blue Odd background color: light blue / Even background color: white
'blue_dark' Century Gothic Bold: yes / Background color: dark blue / Font color: white Odd background color: light blue / Even background color: white
'grey_light' Century Gothic Bold: yes / Background color: white / Font color: dark grey Odd background color: light grey / Even background color: white
'grey_dark' Century Gothic Bold: yes / Background color: dark grey / Font color: white Odd background color: light grey / Even background color: white
'orange_light' Century Gothic Bold: yes / Background color: white / Font color: dark orange Odd background color: light orange / Even background color: white
'orange_dark' Century Gothic Bold: yes / Background color: dark orange / Font color: white Odd background color: light orange / Even background color: white
'yellow_light' Century Gothic Bold: yes / Background color: white / Font color: dark yellow Odd background color: light yellow / Even background color: white
'yellow_dark' Century Gothic Bold: yes / Background color: dark yellow / Font color: white Odd background color: light yellow / Even background color: white
'green_light' Century Gothic Bold: yes / Background color: white / Font color: dark green Odd background color: light green / Even background color: white
'green_dark' Century Gothic Bold: yes / Background color: dark green / Font color: white Odd background color: light green / Even background color: white
'red_light' Century Gothic Bold: yes / Background color: white / Font color: dark red Odd background color: light red / Even background color: white
'red_dark' Century Gothic Bold: yes / Background color: dark red / Font color: white Odd background color: light red / Even background color: white

Example of an integration with the O365 package

O365

First, we create a function to send an email:

import O365
from O365 import Account

credentials = (o365credid, o365credpwd)
account = Account(credentials)

def send_email(account, to, subject, start, body, end):
    m = account.new_message()
    m.to.add(to)
    m.subject = subject
    m.body = start + body + end
    m.send()

Then we can write the start of an email and the end of the email using the html language:

start = """<html>
                <body>
                    <strong>There should be an table here:</strong></br>"""


end = """</body>
    </html>
    """

Finally we can can pretty_table_html package and send the email:

from pretty_html_table import build_table

html_table_blue_light = build_table(pd.read_excel('df.xlsx'), 'blue_light')

send_email(account
           , 'test@any.com'
           , 'test table'
           , start
           , html_table_blue_light
           , end)

Here are all of the currently available colors:

Light Dark

Additional arguments

Since we created this library, we have added serveral optional arguments that we hope willl help you:

build_table(df, color, font_size = 'medium', font_family = 'Century Gothic', text_align = 'left')

You can now decide on the font, the size and the alignment of the text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pretty_html_table-0.9.4.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

pretty_html_table-0.9.4-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file pretty_html_table-0.9.4.tar.gz.

File metadata

  • Download URL: pretty_html_table-0.9.4.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2

File hashes

Hashes for pretty_html_table-0.9.4.tar.gz
Algorithm Hash digest
SHA256 a247fd18c3ce6ea112da57f1c4c06b426e013b52275dc17d2df865fb33ca4e36
MD5 efa84899b6d3193b5677b77d7f3ddda9
BLAKE2b-256 d215063f0e38119fd0aa4d762a627d7ff6d7d85c47d28c42031445aebcda7948

See more details on using hashes here.

File details

Details for the file pretty_html_table-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: pretty_html_table-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2

File hashes

Hashes for pretty_html_table-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1fa7a634450858e865b1bd4d225fd677680258bc8744fb7833fd39b7c38b608a
MD5 445bec22ac03af4fc8e7c605a9987f11
BLAKE2b-256 2febf1eb1339f4f2f44e2e106d7cdde20989121def5bdd01203593f413ca1fed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page