¿Cómo abro un CSV en Excel sin que me cambie nada?
Deja de abrir con doble clic: importa el archivo con Power Query, eligiendo tú la codificación, el delimitador y qué columnas son texto.
Curso gratis. Tu Maestro, una IA, .
En los módulos anteriores viste cada problema por separado y lo arreglaste en Python. Pero en la oficina mucha gente va a seguir abriendo los archivos en Excel, y tú también. Esta página es sobre cómo hacerlo sin que Excel decida por ti.
Empieza por lo que pasa con el doble clic. Microsoft lo describe así: "Cuando Excel abre un archivo .csv, usa la configuración de formato de datos predeterminada actual para interpretar cómo se importa cada columna de datos". Es decir: Excel abre el archivo con sus suposiciones. Supone una codificación, y si no hay BOM, los acentos de un archivo UTF-8 pueden verse con Ã. Supone un separador, y si no es el del archivo, las columnas salen mal partidas o todo queda en una sola. Supone que lo que parece número es número y le quita los ceros, y que lo que parece fecha es fecha, en el orden que él tiene configurado.
Hay una buena noticia en la misma ayuda: "Abrir un archivo de texto en Excel no cambia el formato del archivo". Mientras solo mires, el CSV sigue intacto en tu disco. Lo que sí cambia el archivo es guardar: lo que se guarda es lo que Excel ya interpretó. Por eso la regla de oro de este módulo es: si un CSV se ve raro en Excel, ciérralo sin guardar.
La alternativa es importar el archivo en vez de abrirlo. Excel trae una herramienta para eso, Power Query (Microsoft la llama también Obtener y transformar), que te muestra una vista previa y te deja decidir antes de cargar los datos. Al importar decides cuatro cosas, las mismas cuatro preguntas que ya te haces en pandas, y solo entonces cargas:
La codificación
En la vista previa, la lista Origen del archivo dice con qué tabla leer los bytes. Si ves
édonde vaé, cámbiala.El delimitador
La lista Delimitador: coma, punto y coma, tabulador u otro. Si todo está en una columna, aquí está el problema.
La detección de tipos
La última lista decide cómo adivina los tipos: con las primeras 200 filas, con todo el archivo, o sin adivinar, dejando todo como texto.
Las columnas que son códigos
En el Editor de Power Query, las columnas como
codigo_postalofoliose cambian a tipo Texto antes de cargar.Cargar
Solo cuando la vista previa se ve bien, cargas los datos en la hoja.
La ruta exacta cambia entre Windows y Mac. Estos son los pasos que da Microsoft en su ayuda:
- En la pestaña Datos, en el grupo Obtener & transformar datos, haz clic en Desde texto o CSV.
- En el cuadro Importar datos, busca el archivo, haz doble clic en él y haz clic en Importar.
- En la vista previa revisa Origen del archivo y Delimitador.
- Elige Transformar datos para abrir el Editor de Power Query (en algunas versiones el botón dice Editar).
- Selecciona la columna de códigos haciendo clic en su encabezado (con Ctrl+clic seleccionas varias) y ve a Inicio > Transformar > Tipo de datos > Texto. En el cuadro Cambiar tipo de columna, elige Reemplazar actual.
- Selecciona Cerrar & cargar.
Si en tu Excel no ves Obtener datos, Microsoft indica otra ruta: Nueva consulta > Desde archivo > A partir de texto.
- Selecciona Datos > Obtener datos (Power Query).
- En el cuadro Elegir origen de datos, elige Texto/CSV y selecciona el archivo.
- Revisa la vista previa. Para cambiar tipos, elige Transformar datos: se abre el Editor de Power Query.
- Cambia a Texto las columnas de códigos. Microsoft indica que en Mac das forma a los datos en el editor "como lo haría en Excel para Windows".
- Selecciona Inicio > Cerrar & cargar.
El Editor de Power Query en Mac está disponible para suscriptores de Microsoft 365 con Excel para Mac versión 16.69 o posterior, según Microsoft. Otra ruta que documenta: Datos > Obtener & transformar datos > Obtener datos > del archivo > Desde texto o CSV > Importar.
La codificación, con cuidado
De las cuatro decisiones, la de Origen del archivo es la que más se pasa por alto, porque casi siempre la lista ya trae algo elegido. Pero Microsoft documenta que Power Query, en esa lista, "no se infiere el conjunto de caracteres, y UTF-8 solo se infiere si comienza con una BOM de UTF-8". Traducido: si tu archivo es UTF-8 sin BOM, o si viene del sistema viejo en Windows-1252, Power Query no lo adivina. Lo eliges tú, mirando la vista previa: cuando los nombres se ven bien, es la correcta. Es el mismo método que usaste en Python en el módulo 1.
Si en la vista previa siguen saliendo acentos raros, cuéntale a tu Maestro qué ves.
El asistente de siempre
Quizá conoces el Asistente para importar texto, el de tres pasos. Microsoft lo llama hoy una característica heredada, que se mantiene por compatibilidad, y recomienda Power Query en su lugar. Si lo prefieres, se habilita en Archivo > Opciones > Datos > Mostrar asistentes de importación de datos heredados > A partir del texto (heredado). Tiene las mismas decisiones en otro orden: el paso 1 tiene su propio Origen del archivo; el paso 2, los Delimitadores; y el paso 3, un botón Avanzado para decirle los separadores decimales y de miles del archivo, y un Formato de datos de columna donde eliges Texto para los códigos o el orden de las fechas. Microsoft documenta también un atajo: cambiar la extensión del archivo de .csv a .txt antes de abrirlo obliga a Excel a mostrar el asistente.
Pregunta a tu Maestro qué elegirías en cada paso para la lista de precios de Valencia.
Cuidado: Un cambio regional no es la solución
En foros verás que, para abrir archivos con punto y coma, alguien sugiere cambiar el separador de lista en la configuración regional de Windows. Microsoft advierte que "cambiar la configuración de Windows provocará un cambio global en el equipo que afectará a todas las aplicaciones". Para leer un archivo, impórtalo indicando su delimitador.