diff options
author | Yaron de Leeuw <jarondl@server.fake> | 2013-09-29 10:35:21 +0300 |
---|---|---|
committer | Yaron de Leeuw <jarondl@server.fake> | 2014-02-28 09:18:16 +0200 |
commit | 803a75fca8e814b9ba46aef585eefeb94a16325d (patch) | |
tree | 10e234bddb2961c002025b6f720bf51a46f064ef /numpy/lib/npyio.py | |
parent | 8c4d9bedd9d85d86c41f956cdb5140e112c2ac08 (diff) | |
download | numpy-803a75fca8e814b9ba46aef585eefeb94a16325d.tar.gz |
MAINT (API?): organize npyio.recfromcsv defaults
Organizes the default kwargs in recfromcsv. Changes two undocumented
kwargs behaviors:
* previously, if a user set `names=None`, it was ignored and replaced
with `names=True`
* the `dtype` kwarg was ignored. If `update` was given, it was used as
`dtype`, and if not, None was used. We can retain the `update` behavior
by using `kwargs.setdefault("dtype",kwargs.get('update', None))`.
This Closes #311 .
Diffstat (limited to 'numpy/lib/npyio.py')
-rw-r--r-- | numpy/lib/npyio.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py index 8cd779f4d..341008c9e 100644 --- a/numpy/lib/npyio.py +++ b/numpy/lib/npyio.py @@ -1844,7 +1844,7 @@ def recfromtxt(fname, **kwargs): array will be determined from the data. """ - kwargs.update(dtype=kwargs.get('dtype', None)) + kwargs.setdefault("dtype", None) usemask = kwargs.get('usemask', False) output = genfromtxt(fname, **kwargs) if usemask: @@ -1872,16 +1872,18 @@ def recfromcsv(fname, **kwargs): numpy.genfromtxt : generic function to load ASCII data. """ - case_sensitive = kwargs.get('case_sensitive', "lower") or "lower" - names = kwargs.get('names', True) - if names is None: - names = True - kwargs.update(dtype=kwargs.get('update', None), - delimiter=kwargs.get('delimiter', ",") or ",", - names=names, - case_sensitive=case_sensitive) - usemask = kwargs.get("usemask", False) + # Set default kwargs as relevant to csv import. + # These seem to be undocumented. (case_sensitive is mentioned in basics.io) + kwargs.setdefault("case_sensitive", "lower") + # previously, names were set to True if they were not set or if they + # were set to None, overriding the user's choice. + kwargs.setdefault("names", True) + kwargs.setdefault("delimiter", ",") + kwargs.setdefault("dtype", None) + output = genfromtxt(fname, **kwargs) + + usemask = kwargs.get("usemask", False) if usemask: from numpy.ma.mrecords import MaskedRecords output = output.view(MaskedRecords) |