summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Castner <castner.rr@gmail.com>2017-09-01 13:21:21 -0400
committerRyan Castner <castner.rr@gmail.com>2017-09-01 13:21:21 -0400
commit7f1db4023f2310529822d721379b1019aaf320fc (patch)
tree8ef8c1eb9dc785b2f648b458c705433059d78f4f
parentb09fface1be24bd4025b705f7f8495efb398991d (diff)
downloadtablib-7f1db4023f2310529822d721379b1019aaf320fc.tar.gz
Raise NotImplementedError if pandas is not installed
-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