Added OrderedDict support.

This commit is contained in:
Kenneth Reitz
2011-02-18 03:13:44 -05:00
parent 52e307ea35
commit 0c05d0497e
+11 -2
View File
@@ -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
))