datar.core.names
module
datar.core.names
Name repairing
Classes
NameNonUniqueError— Error for non-unique names</>
Functions
repair_names(names,repair)(List) — Repair names based on the method</>
class
datar.core.names.NameNonUniqueError()
Bases
ValueError
Exception
BaseException
Error for non-unique names
function
datar.core.names.repair_names(names, repair)
Repair names based on the method
Parameters
names(Iterable) — The names to be repairedrepair(Union) — The method to repair- -
minimal: Minimal names are never None or NA.
When an element doesn't have a name, its minimal name
is an empty string. - -
unique: Unique names are unique. A suffix is appended to
duplicate names to make them unique. - -
universal: Universal names are unique and syntactic,
meaning that you can safely use the names as variables without
causing a syntax error (likef.<name>). - - A function, accepts either a list of names or a single name.
Function accepts a list of names must annotate the first
argument withtyping.Iterableortyping.Sequence.
- -
Examples
>>> repair_names([None]*3, repair="minimal")>>> # ["", "", ""]
>>> repair_names(["x", NA], repair="minimal")
>>> # ["x", ""]
>>> repair_names(["", "x", "", "y", "x", "_2", "__"], repair="unique")
>>> # ["__1", "x__2", "__3", "y", "x__5", "__6", "__7"]
>>> repair_names(["", "x", NA, "x"], repair="universal")
>>> # ["__1", "x__2", "__3", "x__4"]
>>> repair_names(["(y)" "_z" ".2fa" "False"], repair="universal")
>>> # ["_y_", "_z", "_2fa", "_False"]
Returns (List)
The repaired names
Raises
NameNonUniqueError— when check_unique failsValueError— when repair is not a string or callable