summaryrefslogtreecommitdiff
path: root/numpy/lib/_iotools.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/lib/_iotools.py')
-rw-r--r--numpy/lib/_iotools.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/numpy/lib/_iotools.py b/numpy/lib/_iotools.py
index b2a7d4729..c9d81048f 100644
--- a/numpy/lib/_iotools.py
+++ b/numpy/lib/_iotools.py
@@ -258,6 +258,8 @@ class NameValidator:
* If 'lower', field names are converted to lower case.
The default value is True.
+ replace_space: '_', optional
+ Character(s) used in replacement of white spaces.
Notes
-----
@@ -281,7 +283,8 @@ class NameValidator:
defaultexcludelist = ['return', 'file', 'print']
defaultdeletechars = set("""~!@#$%^&*()-=+~\|]}[{';: /?.>,<""")
#
- def __init__(self, excludelist=None, deletechars=None, case_sensitive=None):
+ def __init__(self, excludelist=None, deletechars=None,
+ case_sensitive=None, replace_space='_'):
# Process the exclusion list ..
if excludelist is None:
excludelist = []
@@ -303,6 +306,8 @@ class NameValidator:
self.case_converter = lambda x: x.lower()
else:
self.case_converter = lambda x: x
+ #
+ self.replace_space = replace_space
def validate(self, names, defaultfmt="f%i", nbfields=None):
"""
@@ -347,14 +352,16 @@ class NameValidator:
deletechars = self.deletechars
excludelist = self.excludelist
case_converter = self.case_converter
+ replace_space = self.replace_space
# Initializes some variables ...
validatednames = []
seen = dict()
nbempty = 0
#
for item in names:
- item = case_converter(item)
- item = item.strip().replace(' ', '_')
+ item = case_converter(item).strip()
+ if replace_space:
+ item = item.replace(' ', replace_space)
item = ''.join([c for c in item if c not in deletechars])
if item == '':
item = defaultfmt % nbempty