summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
authorxando <sebastian.pawlus@gmail.com>2012-05-16 17:05:05 +0100
committerxando <sebastian.pawlus@gmail.com>2012-05-16 17:22:14 +0100
commit39435727ba79c0023056f45ca7c36d7c72bfb802 (patch)
tree2244112fca923e18bae96fcabec42b89f8c85b66 /tablib
parenteda9d5af0347e89787aeee27d3fcde0531c8d2c5 (diff)
downloadtablib-39435727ba79c0023056f45ca7c36d7c72bfb802.tar.gz
XLS import_book method implemented.
Diffstat (limited to 'tablib')
-rw-r--r--tablib/formats/_xls.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tablib/formats/_xls.py b/tablib/formats/_xls.py
index 6530d91..ebec9e1 100644
--- a/tablib/formats/_xls.py
+++ b/tablib/formats/_xls.py
@@ -66,6 +66,26 @@ def export_book(databook):
return stream.getvalue()
+def import_book(dbook, in_stream, headers=True):
+ """Returns databook from XLS stream."""
+
+ dbook.wipe()
+
+ xls_book = xlrd.open_workbook(file_contents=in_stream)
+
+ for sheet in xls_book.sheets():
+ data = tablib.Dataset()
+ data.title = sheet.name
+
+ for i in xrange(sheet.nrows):
+ if (i == 0) and (headers):
+ data.headers = sheet.row_values(0)
+ else:
+ data.append(sheet.row_values(i))
+
+ dbook.add_sheet(data)
+
+
def dset_sheet(dataset, ws):
"""Completes given worksheet from given Dataset."""
_package = dataset._package(dicts=False)