Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A format-agnostic tabular dataset library for Python.

tag: v0.0.5

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 tablib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 HISTORY.rst
Octocat-spinner-32 LICENSE
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 fabfile.py
Octocat-spinner-32 setup.py
Octocat-spinner-32 tabbed
README.rst

Tabbed: format-agnostic tabular dataset library

_____         ______  ______        _________
__  /_______ ____  /_ ___  /_ _____ ______  /
_  __/_  __ `/__  __ \__  __ \_  _ \_  __  /
/ /_  / /_/ / _  /_/ /_  /_/ //  __// /_/ /
\__/  \__,_/  /_.___/ /_.___/ \___/ \__,_/

Tabbed is a format-agnostic tabular dataset library, written in Python. It is a full python module which doubles as a CLI application for quick dataset conversions.

Formats supported:

  • JSON
  • YAML
  • Excel
  • CSV

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

Please note that tabbed purposefully excludes XML support. It always will.

Features

Populate fresh data files:

headers = ('first_name', 'last_name', 'gpa')

data = [
    ('John', 'Adams', 4.0),
    ('George', 'Washington', 2.6),
    ('Henry', 'Ford', 2.3)
]

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

# Establish file location and save
data.save('test.xls')

Intelligently add new rows:

data.append('Bob', 'Dylan', 3.2)

print data.headers
# >>> ('first_name', 'last_name', 'gpa')

Slice rows:

print data[0:1]
# >>> [('John', 'Adams', 4.0), ('George', 'Washington', 2.6)]

Manipulate rows by index:

del data[0]
print data[0:1]
# >>> [('George', 'Washington', 2.6), ('Henry', 'Ford', 2.3)]

.. # Update saved file
.. data.save()

Roadmap

  • Import datasets from CSV, JSON, YAML
  • Auto-detect import format
  • Plugin support
Something went wrong with that request. Please try again.