Cómo abrir un archivo CSV en Excel: La guía definitiva

Aunque creo que este post-guía no va a ser demasiado extenso, quiero que sea la guía definitiva a la que puedas acudir cada vez que tengas algún problema abriendo un archivo CSV en Excel. Quiero que tengas claro todo lo relacionado con esta clase de archivos para que puedas abrir cualquiera de ellos y que no quepan más dudas cuando te enfrentes a este punto.

Si encuentras algo a faltar o crees que hay que completar la guía de alguna forma, déjame un comentario y entre todos lo valoramos.

Venga, como supongo que si la estás leyendo es porque tienes un archivo CSV que se te resiste, me ato la cinta roja en la frente y vamos al lío:

¿Qué es un archivo CSV?

Estoy seguro de que si quisieras una definición técnica y detallada, te habrías pasado por la Wikipedia. Yo te doy la mía propia:

Un archivo CSV es una forma muy eficaz de traducir una tabla con datos a una cadena de texto. Esto se consigue usando un símbolo para separar los valores de cada celda, o sea, usando un carácter concreto para indicar que una celda de la tabla se acaba y pasamos a la siguiente. Habitualmente, este símbolo es una coma y de ahí el nombre: Comma Separated Values.

Usando un ejemplo sencillo, si tenemos esta tabla:

COLUMNA1 COLUMNA2
Dato1 Dato2

 

Al transformarla en un archivo CSV quedaría de la siguiente manera:

COLUMNA1,COLUMNA2

Dato1,Dato2

 

Los separadores

Al carácter utilizado para indicar que una celda se acaba y empieza la siguiente se le llama separador.

El separador más habitual es la coma pero puedes encontrar archivos CSV que utilicen otros caracteres como separadores.

En Europa es muy frecuente el punto y coma (;) y también se usan bastante el tabulador y la barra vertical (|) (también llamada “pipe” o “pipeline”). No te preocupes, veremos por qué se usan y cómo abrir archivos CSV casi con cualquier separador.

 

¿Por qué se usa tanto?

El uso de los archivos CSV está muy extendido en entornos donde se generan tablas o listados de información que puede ser transmitida a otros sistemas. También se suelen utilizar mucho justo para hacer el proceso inverso, es decir, para incluir en un sistema la información de tablas creadas externamente o con otro sistema que no sea directamente compatible.

Como ejemplo de entornos en los que se suelen utilizar los archivos CSV están los principales gestores de bases de datos (como MySQL o MS SQL Server…), ERPs (como SAP o los MS Dynamics o SAGE…), sistemas de gestión de comercio electrónico (como Magento o Prestashop…) o gestores de contenido (como WordPress…).

El uso de los archivos CSV hace que puedas compartir información de tablas de cualquiera de los sistemas de una forma casi estándar, utilizando un formato de texto con separadores de celdas que prácticamente todos los sistemas “entienden”; además, el reducir la información de las tablas a un fichero prácticamente de texto plano hace que sea mucho más fácil transmitir esa información por canales online o ponerla disponible para que sea descargada fácilmente sin usar archivos voluminosos, pesados o con estructuras complejas.

 

¿Qué tipos de archivos CSV hay?

No es tanto que haya diferentes tipos sino que podemos tener archivos CSV de distinta naturaleza dependiendo de algunos factores.

Te cuento:

La idea del archivo CSV es utilizar la coma (,) como separador de celdas pero en Europa utilizamos la coma como separador decimal, así que lo más frecuente en Europa es que los archivos CSV estén delimitados por punto y coma mientras que en el Reino Unido y en Estados Unidos se suele usar la coma como separador ya que los decimales se suelen indicar con un punto y no con coma.

Esto se hace así porque la mayoría de los datos que se incluyen en las tablas de las bases de datos suelen ser números y queremos evitar que haya un conflicto entre los separadores de decimales de los números y los separadores de celdas de los archivos CSV.

Los archivos CSV no obligan a una codificación concreta del texto (por si quieres una buena explicación sobre la codificación de caracteres, te dejo este enlace) y los datos que incluyan, de manera que es muy frecuente encontrar archivos CSV con codificaciones diferentes y deberemos tenerlo en cuenta para poderlos abrir correctamente. Lo más habitual suele ser encontrar archivos CSV con la codificación ASCII o UNICODE – UTF-8.

Otro aspecto a tener en cuenta es que los archivos CSV, al ser prácticamente ficheros de texto plano, pueden guardarse, transmitirse y modificarse en formato .txt.

 

Con todo esto, resulta que aunque no sea por haber diferentes tipos de archivos CSV, podemos tener:

  • Archivos CSV separados con coma
  • Archivos CSV separados con punto y coma
  • Archivos CSV separados con otros caracteres
  • Archivos CSV con codificación ASCII
  • Archivos CSV con codificación UTF-8
  • Archivos CSV con otras codificaciones
  • Archivos CSV con extensión .txt

Y todas las combinaciones que esto supone (archivos CSV separados con coma, codificados UTF-8 y guardados como .txt…)

Aquí es donde la mayoría tenemos problemas. No te preocupes, si tienes claro que hay diferentes “tipos” o combinaciones de archivos CSV y te lees esta guía (y te la guardas en favoritos para cuando se te olvide), estoy seguro de que no habrá CSV que se te resista ;).

¿Cómo se abre en Excel?

Por si la cosa no tuviera ya suficiente gracia, resulta que un archivo CSV se puede abrir, como poco, de 3 formas diferentes en Excel:

  1. Abrir el archivo CSV sin haber abierto Excel antes
  2. Abrir el archivo CSV desde Excel, ya ejecutándose
  3. Usando la opción de “Obtener datos externos”

¿Qué ocurre en cada caso?

A ver, aquí la cosa ha variado un poco últimamente.

(Déjame que aproveche este punto para recordarte que para poder abrir un archivo CSV desde Excel, en el cuadro de diálogo “Abrir” debes seleccionar la opción “Todos los archivos”).

Seleccionar todos los tipos de archivos al abrir un CSV en Excel

 

Con versiones actuales de Excel, abrir el documento de la forma 1 o de la 2 tiene exactamente el mismo resultado. Hace tiempo que Excel es capaz de interpretar que se trata de un archivo con delimitadores, los identifica y al abrirlo lo muestra en forma de tabla, sin necesidad de hacer nada.

Para que esto pase y la información te aparezca perfecta, el documento tiene que estar codificado acorde a la configuración regional que tengas, es decir, si estás en España y tienes configurada la coma como separador decimal y el archivo CSV también y además tiene como separador el punto y coma, seguramente no tendrás ningún problema, aunque, probablemente, tampoco te estarás leyendo este post, así que vamos a casos más problemáticos.

Si tienes un archivo con un separador que Excel no reconoce automáticamente, hay una opción que implica abrir el archivo CSV pero desde un Excel que ya se está ejecutando, es decir, no haciendo doble clic directamente sobre el archivo sino utilizando el comando “Abrir” dentro del menú “Archivo” de Excel.

Lo único que tienes que hacer es renombrar el archivo con la extensión .txt antes de seleccionarlo desde “Abrir”.

Al abrirlo de esta forma, te aparecerá el fantástico y maravilloso…

 

¡Asistente para importar texto!

 

El asistente para importar texto consta de 3 pasos. Vamos a verlos en detalle:

 

Primer paso

Asistente para importar texto paso 1

En el primer paso puedes especificar si tu archivo se trata de un texto que realmente representa una tabla con los valores separados por un carácter (si estás teniendo problemas con tu CSV seguramente es porque Excel ha creído que NO es un texto de este tipo, como en la imagen superior, donde puedes leer: “El asistente estima que sus datos son Ancho fijo”. El ancho fijo es otro sistema de pasar tablas a texto pero mucho menos efectivo y menos usado).

Vaya, que el 90% de las veces tendrás que marcar la opción “Delimitado”.

Algo más que puedes configurar en el primer paso del asistente es si la tabla tiene títulos o encabezados de columnas y cuál es la codificación de origen del archivo (Aquí es donde puedes seleccionar entre ANSI, ASCII, UTF-8… y es la clave de la mayoría de problemas al abrir un CSV).

En cada uno de los pasos, en la parte inferior, tienes una vista previa de lo que aparecerá en Excel.

 

Segundo paso

Asistente para importar texto paso 2

En el segundo paso especificas cuál es el separador que utiliza tu CSV: coma, punto y coma u otro carácter como por ejemplo la barra vertical que te comentaba al principio del post. Este último deberías señalarlo y especificarlo en el espacio marcado como “Otro:”.

También puedes decir cómo quieres que actúe Excel si encuentra dos separadores de forma consecutiva (pueden considerarse como un único separador en algunos casos) y puedes especificar si el símbolo que has utilizado para indicar que un contenido es texto (en caso de que el documento lo contenga) es la comilla doble (“), la comilla simple (‘) o ninguno.

 

Tercer paso

Asistente para importar texto paso 3

En el tercer y último paso puedes especificar el formato de los datos que tienes en cada columna (por si es un texto o una fecha en vez de un número) y tienes una última oportunidad de adecuar los separadores decimales y de miles con la configuración regional que tenga tu ordenador.

Como ves, usando adecuadamente el asistente puedes conseguir abrir correctamente casi cualquier archivo CSV porque todas las opciones que hemos comentado y que afectan al archivo CSV se encuentran disponibles en el asistente para que las puedas controlar.

Lo que consigues si usas la forma 3 de abrir el documento CSV en Excel (usando la opción de “Desde texto” en “Obtener datos externos” del menú “Datos”) es forzar la aparición del Asistente para importar texto, por eso te la he mencionado antes también como la tercera forma para abrir un CSV desde Excel.

Obtener datos externos desde texto

Si te parece, vamos a ver ejemplos concretos con unos archivos CSV que te he preparado para que puedas ver qué ocurre en cada caso y puedas elegir cuál es la mejor opción para abrir los archivos CSV que utilizas de forma más frecuente.

Lo que voy a hacer es mostrarte 4 archivos CSV con codificación, textos y separadores decimales diferentes para que veas la estructura que tienen en texto, las diferencias entre ellos y cómo puedes abrir sin problemas los que Excel se resista a abrir con un doble clic.

 

Análisis paso a paso de 4 archivos de ejemplo

He creado una tabla en Excel con algunos datos de ejemplo. Esta será la información que me servirá de base para que veamos lo que ocurre en cada caso:

Tabla con datos de ejemplo en Excel

  • En la columna A he puesto un texto con acentos: áàéèíóòú
  • En la columna B he puesto un texto con otros caracteres: ñçü-!”·$%&/()=?¿
  • En la columna C he puesto un texto con una coma: Texto, con comas
  • En la columna D he puesto un texto con un punto y coma: Texto; con punto y coma
  • En la columna E he puesto un texto entrecomillado: Texto “entre comillas”
  • En la columna F he puesto un número: 12345
  • En la columna G he puesto un número en texto: 012345
  • En la columna H he puesto un número con decimales separados con coma: 123,45
  • En la columna I he puesto un número con decimales separados con punto: 123.45
  • En la columna J he puesto un número en formato moneda: 123,45 €

En la segunda fila he dejado espacios en blanco de forma deliberada para que veas cómo se mantiene la estructura de la tabla en el archivo de texto aunque las celdas no contengan ningún dato.

 

Con todo esto, he creado 4 archivos CSV de ejemplo:

  1. Archivo CSV con codificación ASCII y con decimales separados por coma
  2. Archivo CSV con codificación ASCII y con decimales separados por punto
  3. Archivo CSV con codificación UTF-8 y con decimales separados por coma
  4. Archivo CSV con codificación UTF-8 y con decimales separados por punto

Vamos a ver qué pasa con cada uno de los archivos y la información que contienen:

 

Archivo CSV con codificación ASCII y con decimales separados por coma

Ejemplo CSV 1
Resultado al abrir el primer archivo CSV simplemente con doble clic

En este caso, el resultado con un doble clic ha sido bastante satisfactorio. No ha reconocido los decimales separados por punto como números con decimales (lo cual está bien) y el único problema que me encuentro es que en la columna de los números escritos en texto (empezando por cero), Excel ha transformado lo que yo quería que fuera un texto en un número.

Te explico cómo resolverlo, por ejemplo, usando el asistente para importar texto:

  • Abre Excel y selecciona la opción “Desde Texto” en “Obtener datos externos” del menú “Datos”:

Obtener datos externos desde texto

  • Selecciona el archivo CSV.
  • En el paso 1 indica que se trata de un archivo delimitado y con encabezados de columna.
  • En el paso 2 indica que el separador es un punto y coma.
  • En el paso 3 indica que la columna que contiene el texto se trata realmente de un texto y no de un número, aunque lo parezca:

Poner texto en paso 3

 

 

Y tendrás el resultado deseado:

número tipo texto

 

Archivo CSV con codificación ASCII y con decimales separados por punto

Ejemplo CSV 2
Resultado al abrir el segundo archivo CSV simplemente con doble clic

 

El resultado con este archivo al abrir con doble clic es un desastre.

 

Al tener el punto como separador decimal, el archivo CSV ha utilizado la coma como separador. Mi Excel no reconoce la coma como separador CSV sino el punto y coma porque, con la configuración regional actual, la coma debería ser un separador de decimales y no un delimitador en los CSVs.

 

Te cuento como solucionarlo abriendo el documento desde Excel de la misma forma que en el ejemplo anterior:

 

  • Abre Excel y selecciona la opción “Desde Texto” en “Obtener datos externos” del menú “Datos”:

Obtener datos externos desde texto

  • Selecciona el archivo CSV.
  • En el paso 1 indica que se trata de un archivo delimitado y con encabezados de columna.
  • En el paso 2 indica que el separador es la coma.
  • En el paso 3 indica que la columna que contiene los números en texto se trata realmente de un texto y no de un número y en la configuración avanzada de importación de textos indica que el valor predeterminado para separar decimales es el punto y el de miles es la coma:

Poner texto y comas en paso 3

 

El resultado será este:

pasar puntos a comas

  • Los números empezando por cero, se mantendrán como textos.
  • Los decimales indicados con coma, no serán reconocidos como números (porque al crear el archivo CSV las comas no se consideraban separador decimal)
  • Los decimales con punto y los números en formato moneda dejarán de tener un punto como separador decimal, pasarán a tener una coma y a ser efectivamente reconocidos como números (puedes notarlo en que están automáticamente alineados a la derecha por Excel y no a la izquierda como en la columna H, que no se ha reconocido como número).

De manera que habrás podido abrir el CSV con la misma estructura de tipo de datos que tenía inicialmente aunque se creó en un entorno en que los decimales se separaban con punto y no con coma, como en tu configuración regional. 😉 Gimme five!!!

Archivo CSV con codificación UTF-8 y con decimales separados por coma

Ejemplo CSV 3
Resultado al abrir el tercer archivo CSV simplemente con doble clic

Como Excel ya reconocerá la codificación y el separador, el resultado al abrir este archivo será el mismo que con el primer ejemplo: los decimales separados por coma no se reconocerán como números y los números que empezaban por cero y que quiero conservar como texto, se convierten en cifras.

Podemos resolverlo de la misma forma que el primer ejemplo pero vamos a ver una manera alternativa que te he comentado al principio del post: guardar el archivo CSV como .txt para forzar el asistente de importación de texto.

renombrar archivo CSV a TXT

Lo único que tienes que hacer es cambiar la extensión del archivo (csv) por “txt”. Eso hará que Windows lo interprete como un archivo de texto. Al abrirlo en Excel, siempre aparecerá el asistente de importación de texto donde podremos indicar que la codificación es UTF-8, el separador una coma y que los números que empiezan por cero son en realidad textos.

 

Archivo CSV con codificación UTF-8 y con decimales separados por punto

Ejemplo CSV 4
Resultado al abrir el cuarto archivo CSV simplemente con doble clic

En este caso el resultado de abrir el archivo con doble clic, vuelve a ser desastroso debido a que Excel no ha reconocido la coma como separador pero no voy a repetirte la solución que hemos visto en el segundo ejemplo; mejor vamos a ver una opción de Excel poco utilizada pero que te puede venir muy bien si te encuentras con este caso frecuentemente: Pasar texto a columnas.

La opción de convertir texto en columnas se encuentra en el menú “Datos” de Excel, en el apartado “Herramientas de datos”:

Texto en columnas

 

Vamos a aplicar esta opción al cuarto archivo CSV aunque un poco más adelante verás que tiene un inconveniente importante.

Simplemente seleccionamos las celdas que no han quedado separadas al abrir el archivo (debido a que no se ha reconocido la coma como separador) y aplicamos la opción de “Texto en columnas” con lo que aparecerá el asistente:

Asistente Texto en columnas

 

Lo único que tienes que hacer es especificar que este texto está delimitado e indicar la coma como separador en el paso 2.

Finaliza el asistente y el resultado es este:

Resultado final Texto en columnas

 

Pero…

…ha habido un exceso de separación en algunas celdas :(.

¿Qué ha pasado?

Seguramente, a estas alturas de la guía ya sabes de sobra lo que ha pasado, ya eres un crack de los CSVs, pero te lo explico para que quede claro:

Lo que ocurre es que como en el texto original había celdas que contenían punto y coma (;), Excel lo detectó como separador al abrir el archivo inicialmente con doble clic. Luego, a esto le hemos añadido la separación de las comas con el asistente para convertir texto en columnas. El resultado es que hay una “doble separación” en algunas de las celdas (El contenido que hay en la columna L estaba inicialmente en la columna B, lo he movido para que se vea mejor el exceso de separación).

En este caso el conversor de texto a columnas no es la solución ideal pero te lo presento porque puede serte de mucha ayuda en caso de que abras archivos CSV frecuentemente con el separador coma y sin punto y coma en su contenido.

Bueno, creo que con este repaso que hemos dado a la apertura de archivos CSV tienes cubiertas todas las opciones más frecuentes ¿tú qué crees? ¿Falta algo? Pues deja un comentario y me lo explicas 😉

Esta guía puede ser de utilidad para algunos de tus contactos ¡Muchas gracias por compartirla!

 

SÓLO SUSCRITOS AL BLOG: Si tienes algún archivo CSV que se te resiste y has llegado leyendo hasta aquí sin ver clara la solución ( :( ), simplemente deja un comentario o hazme llegar tu archivo CSV a través del formulario o por mail y si es un caso diferente, expondré paso a paso cómo abrirlo. Nos servirá a todos para ampliar la guía con nuevos ejemplos. Yo, como siempre, te he puesto los casos más frecuentes porque creo que son los que te pueden ser más útiles.

 

Opt In Image
Suscríbete al blog y recibe mis 18 herramientas GRATUITAS preferidas
Un listado 100% útil. Con enlaces para descargar o usar cada una de las herramientas.

About Josep

Technology Exploiter. Porque había que estudiar soy Ingeniero Aeronáutico y Licenciado en ADE. Excel, Inventarios y aplicaciones chulas que te alegran la vida. Escribo también en Con Tu Negocio, el blog de Movistar (allí bien) y experimento con el eCommerce en BotiguersOnline.com

2 thoughts on “Cómo abrir un archivo CSV en Excel: La guía definitiva

  1. Pingback: Bitacoras.com
  2. hola josep disculpa yo ya adquiri una impresora y una pistola de codigo de barras el problema es que tengo una base de datos 450 productos y estoy usando el programa ns barcode y no se que aser ,son demasiados productos para realizarlos de forma uno en uno.espero pronto respuesta si me puedes ayudar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *