pandleau
A quick and easy way to convert a Pandas DataFrame to a Tableau .tde or .hyper extract.
Getting Started
Prerequisites
- If you want to output as a .tde format, you'll need to install TableauSDK directly from Tableau's site here.
- If you want to output as a .hyper format, you'll need to install Extract API 2.0 directly from Tableau's site here.
- Although Tableau's site claims Python 3 is not supported, this module is tested to work fully functional on Python 3.6.
Installing
Once installing TableauSDK is done, download this repository, navigate to your downloads file and run the following in cmd or terminal:
python -m setup.py install
You can also install pandleau using pip:
pip install pandleau
But note that this will throw a warning to install tableausdk using the above link in Prerequisites.
Example
I grabbed the following Brazil flights data off of kaggle for this example: https://www.kaggle.com/microtang/exploring-brazil-flights-data/data.
import pandas as pd
from pandleau import *
# Import the data
example_df = pd.read_csv(r'example/BrFlights2.csv', encoding = 'iso-8859-1')
# Format dates in pandas
example_df['Partida.Prevista'] = pd.to_datetime(example_df['Partida.Prevista'], format = '%Y-%m-%d')
example_df['Partida.Real'] = pd.to_datetime(example_df['Partida.Real'], format = '%Y-%m-%d')
example_df['Chegada.Prevista'] = pd.to_datetime(example_df['Chegada.Prevista'], format = '%Y-%m-%d')
example_df['Chegada.Real'] = pd.to_datetime(example_df['Chegada.Real'], format = '%Y-%m-%d')
# Set up a spatial column
example_df.loc[:, 'SpatialDest'] = example_df['LongDest'].apply( lambda x: "POINT (" + str( round(x, 6) ) ) + \
example_df['LatDest'].apply( lambda x: " "+str( round(x, 6) ) + ")" )
# Change to pandleau object
df_tableau = pandleau(example_df)
# Define spatial column
df_tableau.set_spatial('SpatialDest', indicator=True)
# Write .tde or .hyper Extract!
df_tableau.to_tableau('test.hyper', add_index=False)
Tableau Server/Online Automation
Eric Chan (erickhchan) wrote a really cool blog post on using Python to blend and clean data before pushing it to Tableau Online (which is a SaaS version of Tableau Server). This is a great way to learn how to automate the data refresh process with Tableau Server Client and Pandleau. Check out his blog post here: https://www.erickhchan.com/data/2019/03/18/python-tableau-server.html
Authors
- Benjamin Wiley - jamin4lyfe
- Zhirui(Jerry) Wang - zhiruiwang
- Aaron Wiegel - aawiegel
- Pointy Shiny Burning - PointyShinyBurning
- Harrison - harrison-h
Related Project
RTableau Convert R data.frame to Tableau Extract using pandleau
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Release files for pandleau 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pandleau-0.4.1.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pandleau-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.3 kB
Release files / pandleau-0.4.1.tar.gz
| Download URL | pandleau-0.4.1.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a008b54f3677d87836d3325c14b9e540eb06c4810baa3dff9edd40bc4423711
|
|
BLAKE2b-256 checksum How to use checksums |
bcbc3c8b67c272ed8c250e53f95a42f46132a9a4c08ecfb80f366e8396329695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3
|
Release files / pandleau-0.4.1-py3-none-any.whl
| Download URL | pandleau-0.4.1-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89a81ec6a592cd5ae280b9ab9885f0017d83fcf40ce8ce83e9553f8c9b897c43
|
|
BLAKE2b-256 checksum How to use checksums |
4c5ba1b8843ebec0dd687bc969b3f4ed9579c38e9ef3d02b0e5c635929f605fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3
|