From ef598c713056060580e7faed84dd0cc0bb8fd89c Mon Sep 17 00:00:00 2001 From: Benjamin Berman Date: Tue, 7 Apr 2015 16:00:48 -0700 Subject: [PATCH] BUG: Handle a ValueError on from_csv calls The cached market data could be corrupted. Pandas raises a ValueError in that case, and this error handles it. --- zipline/data/loader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zipline/data/loader.py b/zipline/data/loader.py index 24abb5ea..347dcff4 100644 --- a/zipline/data/loader.py +++ b/zipline/data/loader.py @@ -157,7 +157,7 @@ def load_market_data(trading_day=trading_day_nyse, bm_filepath = get_data_filepath(get_benchmark_filename(bm_symbol)) try: saved_benchmarks = pd.Series.from_csv(bm_filepath) - except (OSError, IOError): + except (OSError, IOError, ValueError): logger.info( "No cache found at {path}. " "Downloading benchmark data for '{symbol}'.", @@ -204,7 +204,7 @@ def load_market_data(trading_day=trading_day_nyse, tr_filepath = get_data_filepath(filename) try: saved_curves = pd.DataFrame.from_csv(tr_filepath) - except (OSError, IOError): + except (OSError, IOError, ValueError): logger.info( "No cache found at {path}. " "Downloading treasury data from {source}.",