Source code for piel.tools.virtuoso.simulation.data.utils
[docs]
def sanitize_column_name(column) -> str:
"""
Converts a list of column names into a sanitized format that only includes
letters, numbers, and underscores.
Args:
columns (List[str]): A list of column names to be sanitized.
Returns:
List[str]: A list of sanitized column names.
Example:
Input:
['(VT("/net05") - VT("/net8")) X', '(VT("/net05") - VT("/net8")) Y']
Output:
['VT_net05_minus_VT_net8_X', 'VT_net05_minus_VT_net8_Y']
"""
import re
# Replace special characters with underscores, keeping only letters, numbers, and underscores
sanitized_column = re.sub(r"[^a-zA-Z0-9 ]", "", column).replace(" ", "_")
sanitized_column = re.sub(
r"[^\w\s]", "", sanitized_column
) # Remove special characters
sanitized_column = re.sub(
r"\s+", "_", sanitized_column
) # Replace spaces with underscores
sanitized_column = sanitized_column.replace("/", "_").replace("-", "_minus_")
return sanitized_column