117
117
def read_sas (filepath_or_buffer , format = 'xport' , index = None , encoding = 'ISO-8859-1' ,
118
118
chunksize = None , iterator = False ):
119
119
120
- if format .lower () != 'xport' :
121
- raise ValueError ('only xport format is supported' )
120
+ format = format .lower ()
122
121
123
- reader = XportReader (filepath_or_buffer , index = index , encoding = encoding ,
124
- chunksize = chunksize )
122
+ if format == 'xport' :
123
+ reader = XportReader (filepath_or_buffer , index = index , encoding = encoding ,
124
+ chunksize = chunksize )
125
+ else :
126
+ raise ValueError ('only xport format is supported' )
125
127
126
128
if iterator or chunksize :
127
129
return reader
@@ -261,12 +263,12 @@ def _read_header(self):
261
263
# read file header
262
264
line1 = self ._get_row ()
263
265
if line1 != _correct_line1 :
264
- raise Exception ("Header record is not an XPORT file." )
266
+ raise ValueError ("Header record is not an XPORT file." )
265
267
266
268
line2 = self ._get_row ()
267
269
file_info = _split_line (line2 , [ ['prefix' ,24 ], ['version' ,8 ], ['OS' ,8 ], ['_' ,24 ], ['created' ,16 ]])
268
270
if file_info ['prefix' ] != "SAS SAS SASLIB" :
269
- raise Exception ("Header record has invalid prefix." )
271
+ raise ValueError ("Header record has invalid prefix." )
270
272
file_info ['created' ] = _parse_date (file_info ['created' ])
271
273
self .file_info = file_info
272
274
@@ -277,7 +279,7 @@ def _read_header(self):
277
279
header1 = self ._get_row ()
278
280
header2 = self ._get_row ()
279
281
if not header1 .startswith (_correct_header1 ) or not header2 == _correct_header2 :
280
- raise Exception ("Member header not found." )
282
+ raise ValueError ("Member header not found." )
281
283
fieldnamelength = int (header1 [- 5 :- 2 ]) # usually 140, could be 135
282
284
283
285
# member info
@@ -325,7 +327,7 @@ def _read_header(self):
325
327
326
328
header = self ._get_row ()
327
329
if not header == _correct_obs_header :
328
- raise Exception ("Observation header not found." )
330
+ raise ValueError ("Observation header not found." )
329
331
330
332
self .fields = fields
331
333
self .record_length = obs_length
0 commit comments