summaryrefslogtreecommitdiff
path: root/numpy/lib/npyio.py
diff options
context:
space:
mode:
authorYaron de Leeuw <jarondl@server.fake>2013-09-29 10:35:21 +0300
committerYaron de Leeuw <jarondl@server.fake>2014-02-28 09:18:16 +0200
commit803a75fca8e814b9ba46aef585eefeb94a16325d (patch)
tree10e234bddb2961c002025b6f720bf51a46f064ef /numpy/lib/npyio.py
parent8c4d9bedd9d85d86c41f956cdb5140e112c2ac08 (diff)
downloadnumpy-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.py22
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)