Skip to main content

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

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)

Source distribution for pandleau 0.4.1
File Size Uploaded
pandleau-0.4.1.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pandleau 0.4.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.3.1

2 release files

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page