@@ -453,8 +453,8 @@ def get_data_fred(name, start=dt.datetime(2010, 1, 1),
453
453
def get_data_famafrench (name ):
454
454
# path of zip files
455
455
zip_file_url = ('http://mba.tuck.dartmouth.edu/pages/faculty/'
456
- 'ken.french/ftp/ ' )
457
- zip_file_path = '{0}{1}.zip' .format (zip_file_url , name )
456
+ 'ken.french/ftp' )
457
+ zip_file_path = '{0}/ {1}.zip' .format (zip_file_url , name )
458
458
459
459
with urlopen (zip_file_path ) as url :
460
460
raw = url .read ()
@@ -463,13 +463,13 @@ def get_data_famafrench(name):
463
463
tmpf .write (raw )
464
464
465
465
with ZipFile (tmpf , 'r' ) as zf :
466
- data = zf .read (name + '.txt' ).splitlines ()
466
+ data = zf .open (name + '.txt' ).readlines ()
467
467
468
468
line_lengths = np .array (map (len , data ))
469
- file_edges = np .where (line_lengths )[0 ]
469
+ file_edges = np .where (line_lengths == 2 )[0 ]
470
470
471
471
datasets = {}
472
- edges = itertools .izip (file_edges [: - 1 ] , file_edges [1 :])
472
+ edges = itertools .izip (file_edges + 1 , file_edges [1 :])
473
473
for i , (left_edge , right_edge ) in enumerate (edges ):
474
474
dataset = [d .split () for d in data [left_edge :right_edge ]]
475
475
if len (dataset ) > 10 :
@@ -479,14 +479,15 @@ def get_data_famafrench(name):
479
479
header = dataset [header_index ]
480
480
ds_header = dataset [header_index + 1 :]
481
481
# to ensure the header is unique
482
- header = ['{0} {1}' .format (* items ) for items in enumerate (header ,
483
- start = 1 )]
484
- index = np .fromiter (( d [0 ] for d in ds_header ) , dtype = int )
485
- dataset = np .fromiter (( d [1 :] for d in ds_header ) , dtype = float )
482
+ header = ['{0} {1}' .format (j , hj ) for j , hj in enumerate (header ,
483
+ start = 1 )]
484
+ index = np .array ([ d [0 ] for d in ds_header ] , dtype = int )
485
+ dataset = np .array ([ d [1 :] for d in ds_header ] , dtype = float )
486
486
datasets [i ] = DataFrame (dataset , index , columns = header )
487
487
488
488
return datasets
489
489
490
+
490
491
# Items needed for options class
491
492
CUR_MONTH = dt .datetime .now ().month
492
493
CUR_YEAR = dt .datetime .now ().year
0 commit comments