summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.org>2017-09-01 13:49:44 -0400
committerGitHub <noreply@github.com>2017-09-01 13:49:44 -0400
commitdec5cea72264d2008d51d2800be16ea706950fa5 (patch)
treee8567dd54af60fab39f7cd5bc8da3172a873b1f3 /tablib
parent69edb9def37be7f38a4fed6d6bf10a618eaec8e3 (diff)
parent38183938dc7332bcbdfeef4b8631ead8e32139e0 (diff)
downloadtablib-dec5cea72264d2008d51d2800be16ea706950fa5.tar.gz
Merge pull request #307 from audiolion/make-pandas-optional
Make pandas optional
Diffstat (limited to 'tablib')
-rw-r--r--tablib/formats/_df.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tablib/formats/_df.py b/tablib/formats/_df.py
index 5996ce9..44b967f 100644
--- a/tablib/formats/_df.py
+++ b/tablib/formats/_df.py
@@ -10,7 +10,10 @@ if sys.version_info[0] > 2:
else:
from cStringIO import StringIO as BytesIO
-from pandas import DataFrame
+try:
+ from pandas import DataFrame
+except ImportError:
+ DataFrame = None
import tablib
@@ -21,6 +24,8 @@ extensions = ('df', )
def detect(stream):
"""Returns True if given stream is a DataFrame."""
+ if DataFrame is None:
+ return False
try:
DataFrame(stream)
return True
@@ -30,6 +35,10 @@ def detect(stream):
def export_set(dset, index=None):
"""Returns DataFrame representation of DataBook."""
+ if DataFrame is None:
+ raise NotImplementedError(
+ 'DataFrame Format requires `pandas` to be installed.'
+ ' Try `pip install tablib[pandas]`.')
dataframe = DataFrame(dset.dict, columns=dset.headers)
return dataframe