tablib 0,1,12,1,1,0,6,1 travis-ci python

Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.

2 years after MIT

Tablib: format-agnostic tabular dataset library

.. image:: https://travis-ci.org/kennethreitz/tablib.svg?branch=master :target: https://travis-ci.org/kennethreitz/tablib

::

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

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

Output formats supported:

  • Excel (Sets + Books)
  • JSON (Sets + Books)
  • YAML (Sets + Books)
  • HTML (Sets)
  • TSV (Sets)
  • OSD (Sets)
  • CSV (Sets)
  • DBF (Sets)

Note that tablib purposefully excludes XML support. It always will. (Note: This is a joke. Pull requests are welcome.)

Overview

tablib.Dataset() A Dataset is a table of tabular data. It may or may not have a header row. They can be build and manipulated as raw Python datatypes (Lists of tuples|dictionaries). Datasets can be imported from JSON, YAML, DBF, and CSV; they can be exported to XLSX, XLS, ODS, JSON, YAML, DBF, CSV, TSV, and HTML.

tablib.Databook() A Databook is a set of Datasets. The most common form of a Databook is an Excel file with multiple spreadsheets. Databooks can be imported from JSON and YAML; they can be exported to XLSX, XLS, ODS, JSON, and YAML.

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((90, 67, 83), header='age')

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]

Exports

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! ++++++ ::

>>> with open('people.xls', 'wb') as f:
...     f.write(data.xls)

DBF! ++++ ::

>>> with open('people.dbf', 'wb') as f:
...     f.write(data.dbf)

It's that easy.

Installation

To install tablib, simply: ::

$ pip install tablib

Make sure to check out Tablib on PyPi <https://pypi.python.org/pypi/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.

.. _the repository: http://github.com/kennethreitz/tablib .. _AUTHORS: http://github.com/kennethreitz/tablib/blob/master/AUTHORS

Related Repositories

awesome-python-cn

awesome-python-cn

Python资源大全中文版,包括:Web框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理等,由伯乐在线持续更新。 ...

records

records

SQL for Humans™ ...

django-import-export

django-import-export

Django application and library for importing and exporting data with admin integ ...

awesome-machine-learning-python

awesome-machine-learning-python

Machine and Deep Learning in Python ...

go-tablib

go-tablib

Go Module for Tabular Datasets in CSV, JSON, YAML, etc. ...


Top Contributors

kennethreitz iurisilvio durden lbeltrame f4nt msabramo joshourisman kontza rabinnankhwa gavinwahl xdissent jqb mwalling rbonvall brad phargogh dallagi djrobstep tusharmakkar08 xando ScorpionResponse amarandon svetlyak40wt piquadrat bgw bmihelac pfctdayelise waywardmonkeys CandyLikeSmile cmhofer

Releases

-   v0.11.3 zip tar
-   v0.11.2 zip tar
-   v0.11.1 zip tar
-   v0.11.0 zip tar
-   v0.10.0 zip tar
-   v0.9.11 zip tar
-   v0.9.10 zip tar
-   v0.9.9 zip tar
-   v0.9.8 zip tar
-   v0.9.7 zip tar
-   v0.9.6 zip tar
-   v0.9.5 zip tar
-   v0.9.4 zip tar
-   v0.9.3 zip tar
-   v0.9.2 zip tar
-   v0.9.1 zip tar
-   v0.9.0 zip tar
-   v0.8.5 zip tar
-   v0.8.4 zip tar
-   v0.8.3 zip tar
-   v0.8.2 zip tar
-   v0.8.1 zip tar
-   v0.8.0 zip tar
-   v0.7.1 zip tar
-   v0.7.0 zip tar
-   v0.6.4 zip tar
-   v0.6.3 zip tar
-   v0.6.2 zip tar
-   v0.6.1 zip tar
-   v0.0.5 zip tar