in src/sagemaker_training/encoders.py [0:0]
def csv_to_numpy(string_like, dtype=None):
"""Convert a CSV object to a numpy array.
Args:
string_like (str): CSV string.
dtype (dtype, optional): Data type of the resulting array. If None, the
dtypes will be determined by the contents of
each column, individually. This argument can
only be used to 'upcast' the array. For
downcasting, use the .astype(t) method.
Returns:
(np.array): Numpy array.
"""
try:
stream = StringIO(string_like)
reader = csv.reader(stream, delimiter=",", quotechar='"', doublequote=True, strict=True)
array = np.array([row for row in reader]).squeeze()
array = array.astype(dtype)
except ValueError as e:
if dtype is not None:
raise errors.ClientError(
"Error while writing numpy array: {}. dtype is: {}".format(e, dtype)
)
except Exception as e:
raise errors.ClientError("Error while decoding csv: {}".format(e))
return array