From 39435727ba79c0023056f45ca7c36d7c72bfb802 Mon Sep 17 00:00:00 2001 From: xando Date: Wed, 16 May 2012 17:05:05 +0100 Subject: [PATCH] XLS import_book method implemented. --- tablib/formats/_xls.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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)