Replace informal geographic variations such as Florida, Fla., and fl with one official standard value, making reporting, filtering, grouping, and downstream analysis more reliable.
Reemplazar variaciones informales como Florida, Fla. o fl por un estándar oficial, haciendo más confiables los reportes, filtros, agrupaciones y análisis posteriores.
This exercise is for learning and testing purposes only. Do not run scripts against production data, network shares, official HR files, student records, patient records, enterprise repositories, or business-critical folders without proper authorization, backups, testing, least-privilege permissions, change-control approval, and compliance with your organization’s cybersecurity policies.
Este ejercicio es solo para aprendizaje y pruebas. No ejecutes scripts contra datos de producción, carpetas compartidas, archivos oficiales de recursos humanos, expedientes de estudiantes, expedientes de pacientes, repositorios empresariales o carpetas críticas sin autorización, respaldos, pruebas, permisos mínimos, aprobación de control de cambios y cumplimiento de las políticas de ciberseguridad de tu organización.
A CSV file contains addresses coming from multiple sources. State and city names are entered using different formats, abbreviations, casing, and informal labels. The goal is to standardize these values before reporting or loading the data into another system.
Un archivo CSV contiene direcciones provenientes de múltiples fuentes. Los estados y ciudades fueron ingresados con formatos, abreviaturas, mayúsculas/minúsculas y nombres informales diferentes. El objetivo es estandarizar estos valores antes de reportar o cargar la data en otro sistema.
Florida → FLFla. → FLfl → FLMiami Dade → Miami-DadeEmployeeID,City,State 1001,Miami,Florida 1002,MIAMI,Fla. 1003,Hialeah,fl 1004,Miami Dade,FLORIDA 1005,Fort Lauderdale,Fla
$sourceFile = "C:\Training\locations_raw.csv" $outputFile = "C:\Training\locations_clean.csv"
$records = Import-Csv -Path $sourceFile
Hashtable mappings allow PowerShell to translate multiple source variations into one official value.
Las tablas hash permiten que PowerShell traduzca múltiples variaciones de origen hacia un solo valor oficial.
$stateMap = @{
"FLORIDA" = "FL"
"FLA" = "FL"
"FLA." = "FL"
"FL" = "FL"
}
$cityMap = @{
"MIAMI" = "Miami"
"HIALEAH" = "Hialeah"
"MIAMI DADE" = "Miami-Dade"
"MIAMI-DADE" = "Miami-Dade"
}Trim spaces, convert values to uppercase, and use the mapping table to replace known variations.
Removemos espacios, convertimos a mayúsculas y usamos la tabla de cruce para reemplazar variaciones conocidas.
$records | ForEach-Object {
$stateKey = $_.State.Trim().ToUpper()
if ($stateMap.ContainsKey($stateKey)) {
$_.State = $stateMap[$stateKey]
}
}The same logic can be applied to city names, counties, departments, boroughs, or any geographic label used in reporting.
La misma lógica se puede aplicar a ciudades, condados, departamentos, boroughs o cualquier etiqueta geográfica usada en reportes.
$records | ForEach-Object {
$cityKey = $_.City.Trim().ToUpper()
if ($cityMap.ContainsKey($cityKey)) {
$_.City = $cityMap[$cityKey]
}
}$records | Export-Csv -Path $outputFile -NoTypeInformation -Encoding UTF8
$sourceFile = "C:\Training\locations_raw.csv"
$outputFile = "C:\Training\locations_clean.csv"
$stateMap = @{
"FLORIDA" = "FL"
"FLA" = "FL"
"FLA." = "FL"
"FL" = "FL"
}
$cityMap = @{
"MIAMI" = "Miami"
"HIALEAH" = "Hialeah"
"MIAMI DADE" = "Miami-Dade"
"MIAMI-DADE" = "Miami-Dade"
}
$records = Import-Csv -Path $sourceFile
$records | ForEach-Object {
$stateKey = $_.State.Trim().ToUpper()
$cityKey = $_.City.Trim().ToUpper()
if ($stateMap.ContainsKey($stateKey)) {
$_.State = $stateMap[$stateKey]
}
if ($cityMap.ContainsKey($cityKey)) {
$_.City = $cityMap[$cityKey]
}
}
$records | Export-Csv -Path $outputFile -NoTypeInformation -Encoding UTF8| City | State |
|---|---|
| Miami | Florida |
| MIAMI | Fla. |
| Hialeah | fl |
| Miami Dade | FLORIDA |
| Fort Lauderdale | Fla |
| City | State |
|---|---|
| Miami | FL |
| Miami | FL |
| Hialeah | FL |
| Miami-Dade | FL |
| Fort Lauderdale | FL |
Geographic standardization should be controlled by a reviewed mapping table. Avoid hard-coding business assumptions without approval. For official reporting, use authoritative standards such as state abbreviations, county names, city names, district codes, or organization-approved geography tables.
La estandarización geográfica debe controlarse mediante una tabla de cruce revisada. Evita codificar supuestos de negocio sin aprobación. Para reportes oficiales, utiliza estándares autorizados como abreviaturas de estado, nombres de condado, nombres de ciudad, códigos de distrito o tablas geográficas aprobadas por la organización.