Skip to main content

Tablib: format-agnostic tabular dataset library

_____         ______  ___________ ______
__  /_______ ____  /_ ___  /___(_)___  /_
_  __/_  __ `/__  __ \__  / __  / __  __ \
/ /_  / /_/ / _  /_/ /_  /  _  /  _  /_/ /
\__/  \__,_/  /_.___/ /_/   /_/   /_.___/

Tablib is a format-agnostic tabular dataset library, written in Python.

Output formats supported:

  • Excel

  • JSON

  • YAML

  • CSV

At this time, Tablib supports the export of it’s powerful Dataset object instances into any of the above formats. Import is underway.

Note that tablib purposefully excludes XML support. It always will.

Usage

Populate fresh data files:

headers = ('first_name', 'last_name')

data = [
    ('John', 'Adams'),
    ('George', 'Washington')
]

data = tablib.Dataset(*data, headers=headers)

Intelligently add new rows:

>>> data.append(('Henry', 'Ford'))

Intelligently add new columns:

>>> data.append(col=('age', 90, 67, 83))

Slice rows:

>>> print data[:2]
[('John', 'Adams', 90), ('George', 'Washington', 67)]

Slice columns by header:

>>> print data['first_name']
['John', 'George', 'Henry']

Easily delete rows:

>>> del data[1]

Drumroll please………..

JSON!

>>> print data.json
[
  {
    "last_name": "Adams",
    "age": 90,
    "first_name": "John"
  },
  {
    "last_name": "Ford",
    "age": 83,
    "first_name": "Henry"
  }
]

YAML!

>>> print data.yaml
- {age: 90, first_name: John, last_name: Adams}
- {age: 83, first_name: Henry, last_name: Ford}

CSV…

>>> print data.csv
first_name,last_name,age
John,Adams,90
Henry,Ford,83

EXCEL!

>>> open('people.xls').write(data.xls)

It’s that easy.

Installation

To install tablib, simply:

$ pip install tablib

Or, if you absolutely must:

$ easy_install tablib

Contribute

If you’d like to contribute, simply fork the repository, commit your changes to the develop branch (or branch off of it), and send a pull request. Make sure you add yourself to AUTHORS.

Roadmap

  • Add ability to add/remove full columns

  • Import datasets from CSV, JSON, YAML

  • Release CLI Interface

  • Auto-detect import format

  • Add possible other exports (SQL?)

  • Possibly plugin-ify format architecture

  • Ability to assign types to rows (set, regex=, &c.)

  • Plugin support

History

0.6.4 (2010-09-13)

  • Updated unicode export for XLS

  • More exhaustive unit tests

0.6.3 (2010-09-14)

  • Added Dataset.append() support for columns.

0.6.2 (2010-09-13)

  • Fixed Dataset.append() error on empty dataset.

  • Updated Dataset.headers property w/ validation.

  • Added Testing Fixtures.

0.6.1 (2010-09-12)

  • Packaging hotfixes.

0.6.0 (2010-09-11)

  • Public Release.

  • Export Support for XLS, JSON, YAML, and CSV.

  • DataBook Export for XLS, JSON, and YAML.

  • Python Dict Property Support.

Release files for tablib 0.6.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tablib 0.6.4
File Size Uploaded
tablib-0.6.4.tar.gz 9.0 kB Details

Release files / tablib-0.6.4.tar.gz

Download URL tablib-0.6.4.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
79f5315d63fd4257d531b86301cb46e862e678c66445eb3cd9a4139d1e8abf98
BLAKE2b-256 checksum
How to use checksums
66b3386011297cb44219ca681ef1c781e0ec900009c8dd576de18222f1f812aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.10.0

2 release files

3.9.0

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.14.0

2 release files

0.12.1

1 release file

0.12.0

1 release file

0.11.5

1 release file

0.11.4

1 release file

0.11.3

1 release file

0.11.2

2 release files

0.11.1

1 release file

0.11.0

1 release file

0.10.0

2 release files

0.9.11

1 release file

0.9.10

1 release file

0.9.9

1 release file

0.9.8

1 release file

0.9.7

1 release file

0.9.6

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.1

1 release file

0.7.0

1 release file

This release

0.6.4 This release

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.0.1

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