summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2011-02-18 03:13:44 -0500
committerKenneth Reitz <me@kennethreitz.com>2011-02-18 03:13:44 -0500
commit0c05d0497e967b4dde2548d43d019bdc813f2eb8 (patch)
tree273152d4f8a6425901f97a493d30f837b6741cb2
parent52e307ea3518c42f6946bdf87be728b8bcb05a38 (diff)
downloadtablib-0c05d0497e967b4dde2548d43d019bdc813f2eb8.tar.gz
Added OrderedDict support.
-rw-r--r--tablib/core.py13
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
))