diff options
| author | Kenneth Reitz <me@kennethreitz.com> | 2011-02-18 03:13:44 -0500 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.com> | 2011-02-18 03:13:44 -0500 |
| commit | 0c05d0497e967b4dde2548d43d019bdc813f2eb8 (patch) | |
| tree | 273152d4f8a6425901f97a493d30f837b6741cb2 | |
| parent | 52e307ea3518c42f6946bdf87be728b8bcb05a38 (diff) | |
| download | tablib-0c05d0497e967b4dde2548d43d019bdc813f2eb8.tar.gz | |
Added OrderedDict support.
| -rw-r--r-- | tablib/core.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tablib/core.py b/tablib/core.py index 66e85dc..84fc482 100644 --- a/tablib/core.py +++ b/tablib/core.py @@ -14,6 +14,11 @@ from operator import itemgetter from tablib import formats +try: + from collections import OrderedDict +except ImportError: + from tablib.packages.ordereddict import OrderedDict + __title__ = 'tablib' __version__ = '0.9.3' @@ -233,7 +238,7 @@ class Dataset(object): if self.headers: if dicts: - data = [dict(zip(self.headers, data_row)) for data_row in self ._data] + data = [OrderedDict(zip(self.headers, data_row)) for data_row in self ._data] else: data = [list(self.headers)] + list(self._data) else: @@ -329,6 +334,7 @@ class Dataset(object): data.dict = [{'age': 90, 'first_name': 'Kenneth', 'last_name': 'Reitz'}] """ + if not len(pickle): return @@ -432,6 +438,7 @@ class Dataset(object): """ pass + def append(self, row=None, col=None, header=None, tags=list()): """Adds a row or column to the :class:`Dataset`. Usage is :class:`Dataset.insert` for documentation. @@ -442,6 +449,7 @@ class Dataset(object): elif col is not None: self.insert(self.width, col=col, header=header) + def insert_separator(self, index, text='-'): """Adds a separator to :class:`Dataset` at given index.""" @@ -564,6 +572,7 @@ class Dataset(object): return _dset + def transpose(self): """Transpose a :class:`Dataset`, turning rows into columns and vice versa, returning a new ``Dataset`` instance. The first row of the @@ -706,7 +715,7 @@ class Databook(object): """Packages :class:`Databook` for delivery.""" collector = [] for dset in self._datasets: - collector.append(dict( + collector.append(OrderedDict( title = dset.title, data = dset.dict )) |
