# Tablib: Pythonic Tabular Datasets

Release v3.10. (Installation)

Tablib is an MIT Licensed format-agnostic tabular dataset library, written in Python. It allows you to import, export, and manipulate tabular data sets. Advanced features include segregation, dynamic columns, tags & filtering, and seamless format import & export.

    >>> data = tablib.Dataset(headers=['First Name', 'Last Name', 'Age'])
    >>> for i in [('Kenneth', 'Reitz', 22), ('Bessie', 'Monke', 21)]:
    ...     data.append(i)

    >>> print(data.export('json'))
    [{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]

    >>> print(data.export('yaml'))
    - {Age: 22, First Name: Kenneth, Last Name: Reitz}
    - {Age: 21, First Name: Bessie, Last Name: Monke}

    >>> data.export('xlsx')
    <redacted binary data>

    >>> data.export('df')
      First Name Last Name  Age
    0    Kenneth     Reitz   22
    1     Bessie     Monke   21

## Testimonials

National Geographic, Digg, Inc, Northrop Grumman, Discovery Channel, and The Sunlight Foundation use Tablib internally.

Greg Thorton

  Tablib by @kennethreitz saved my life. I had to consolidate like 5 huge poorly maintained lists of domains and data. It was a breeze!

Dave Coutts

  It’s turning into one of my most used modules of 2010. You really hit a sweet spot for managing tabular data with a minimal amount of code and effort.

Joshua Ourisman

  Tablib has made it so much easier to deal with the inevitable ‘I want an Excel file!’ requests from clients…

Brad Montgomery

  I think you nailed the “Python Zen” with tablib. Thanks again for an awesome lib!

## User’s Guide

This part of the documentation, which is mostly prose, begins with some background information about Tablib, then focuses on step-by-step instructions for getting the most out of your datasets.

- Introduction
  - Philosophy
  - Tablib License

- Installation
  - Installing Tablib
  - Download the Source

- Quickstart
  - Creating a Dataset
  - Adding Rows
  - Adding Headers
  - Adding Columns
  - Importing Data
  - Exporting Data
  - Selecting Rows & Columns
  - Removing Rows & Columns
- Advanced Usage
  - Dynamic Columns
  - Filtering Datasets with Tags
  - Separators

- Formats
  - cli
  - csv
  - dbf
  - df (DataFrame)
  - html
  - jira
  - json
  - latex
  - ods
  - rst
  - tsv
  - xls
  - xlsx
  - yaml
  - sql

- Development
  - Design Considerations
  - Source Control
  - Adding New Formats
  - Testing Tablib
  - Continuous Integration
  - Building the Docs

## API Reference

If you are looking for information on a specific function, class or method, this part of the documentation is for you.

- API
  - Dataset Object
  - Databook Object
  - Functions
  - Exceptions