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:
Índice de contenidos
¿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 de los archivos CSV
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 usan tanto los archivos CSV?
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 un archivo CSV 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:
- Abrir el archivo CSV sin haber abierto Excel antes
- Abrir el archivo CSV desde Excel, ya ejecutándose
- 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”).
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! 🥳
Abrir un archivo CSV con el asistente para importar texto
El asistente para importar texto consta de 3 pasos. Vamos a verlos en detalle:
Primer paso del asistente para importar texto en Excel
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 del asistente para importar texto en Excel
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 del asistente para importar texto en Excel
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.
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 CSV 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:
- 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:
- Archivo CSV con codificación ASCII y con decimales separados por coma
- Archivo CSV con codificación ASCII y con decimales separados por punto
- Archivo CSV con codificación UTF-8 y con decimales separados por coma
- 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
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”:
- 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:
Y tendrás el resultado deseado:
Archivo CSV con codificación ASCII y con decimales separados por punto
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”:
- 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:
El resultado será este:
- 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!!!
[Tweet «La Guía Definitiva para abrir archivos CSV en #Excel»]
Archivo CSV con codificación UTF-8 y con decimales separados por coma
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.
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
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»:
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:
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:
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:
[Tweet «Soy un crack abriendo archivos CSV en #Excel»]
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.
24 respuestas a «Cómo abrir un archivo CSV en Excel: La guía definitiva»
Información Bitacoras.com
Valora en Bitacoras.com: 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 re…
como abris desde excel 13 como .txt ?
gracias
Hola,
Tengo un archivo csv, en mi laptop, windows 7 lo are perfecto desde 0. Pero en mi desktop con windows 10, cuando quiero abrir, sale todo de golpe, con comas. Revise las opciones avanzadas de cada uno y son iguales, el idioma de Windows también. Como podría solucionarlo? ( sin tener que cambiarle a txt o importarlo desde datos )
GRACIAS
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.
APOYO A EDGAR COMO SE HACE PARA ABRIR VARIOS ARCHIVOS A LA VEZ CON ESTAS CARACTERISTICAS ?
Buenos días Josep,
Tengo un archive csv, que al abrirlo desde texto no soy capaz de separar, si pudieras revisarlo te lo agradecería.
Una vez que lo abro desde texto, tengo que irme a texto en columnas y no entiendo el motive, puesto que me gustaría poder exportarlo de forma automatica desde una macro, pero al no poder separarlo no puedo aplicar este procedimiento.
Impresionante post. Muchas gracias!
Hola Josep,
Todo y seguir los pasos que explicas en este apartado, no consigo abrir el csv que genera el programa Plickers… desde mi excel Windows 7.
No se si podrías indicarme qué opción habría de seguir para lograrlo.
Gracias.
¡Gracias! Tu artículo me ha sido muy útil, sigo teniendo algún problema con los acentos, pero me ha solucionado muchas dudas.
Hola Josep,
No sé si lo que le estoy haciendo a la Éxcel es un Kasparov contra Deep Blue. A veces la éxcel se comporta de una manera tan «inteligente» que se pasa de lista, cuando lo que se le pide es muy sencillo: ¡que no haga nada!, ¡¡nada!!
Realizo exportaciones de datos de una base de datos en ficheros .CSV separados por punto y coma, «;» para realizar posteriormente una importación de datos de este fichero a otra aplicación que interpreta los datos tal cual, en modo texto plano.
El problema es cuando se abre el fichero .CSV con éxcel, ésta interpreta los campos que le llegan con un valor numérico y le elimina los Ceros de la izquierda. Y yo quiero que conserve los ceros. Por que esa interpretación de sie es numérico o no, por eficiencia, ya la realiza el programa que importará después los datos (pueden ser campos campos de teléfono, de números de cuenta, etc.
Una solución es salir sin guardar, pero de vez en cuando, en la revisión es necesario modificar algún dato y, como hay que guardar el .CSV, se jode todo.
Entiendo que el .CSV es un fichero de texto plano por lo que no puede llevar consigo configuraciones que afectan a éxcel y que la supuesta opción de «no me toques el texto si no te lo pido» debe de ser una opción de configuración de éxcel.
¿Puede ser que la cosa más sencilla, abrir un .CSV sin interpretar formatos, la éxcel no sea capaz de hacerlo?
Gracias y un saludo.
Hola Josep, no sé si será tarde para postear esto, pero tengo un pequeño problema y no encuentro nada de información. Mi problema es que quiero guardar «x» datos generados en Unreal Engine 4 para realizar un seguimiento y mi duda es si se podría señalizar qué dato va en cada columna, puesto que Unreal Engine he leído que funciona bastante bien con este tipo de archivos.
Gracias por toda la info
Hola Josep,
Tengo un problema bastante raro abriendo un csv en excell que no soy capaz de resolver…
¿Podrías echarme una mano?
Mil gracias!
tengo un .csv separado por ;, y que viene con notación americana, es decir, «.» para decimales y «,» para miles. Lo quiero abrir desde vba. y aunque consigo separar los campos, la parte numérica no. ¿podrías ayudarme?
Hola muy interesante tu posteo. Te hago una consulta. Estoy cargando mis productos en una planilla Excel para luego importarlos al programa (me pide que sea formato CSV). En la primer columna tengo el cod. de barras (con formato: numero) pero cuando lo guardo y cierro, al abrirlo de nuevo el num. del cod. de barras se trasforma en fraccion, y por mas que ponga de nuevo formato numero. ya perdí el codigo original. Cómo puedo hacer para que al guardar el archivo no se modifique? Tengo windows 10 home (2016)
Agradeceria tu ayuda!!! Saludos
Buenas Tardes Josep,
Exporté desde outlook un fichero en formato .csv. para tratarlo en excel. Después de leer tu guía para convertir csv en excel, no ha habido forma humana posible en convertirlo. siempre me sigue saliendo en formato texto y no en columnas. Te agradecería me ayudases a resolver este tema que me lleva de cabeza desde hace días. Muchas gracias por anticipado. Si necesitas el fichero, dime cómo te lo puedo hacer llegar.
Maravillosos, Josep. Gracias por el post. Me ha ayudado muchísimo con los archivos CSV. Hasta ahora eran unos grandes desconocidos (los había empleado para pasar tablas a Dreamwever, cosa que descubrí de forma absolutamente fortuita) que no sabía ni por qué existían. Tú explicación es concreta, sencilla y da todas las claves. CONGRATS!
EXELENTICIMO Muchas gracias enserio me salvaste el cuello
Tengo dos maquinas , una abre un archivo.csv ya en columna y la otra al abrilo lo deja como una columna normal de texto, no me da opcion a preguntar si lo quiero delimitado, como puedo hacer para que automaticamente lo abra en columna como lo hace la primera maquina?
saludos y felicitaciones muy bonita explicacion.
Hola
Mi consulta es que abro habitualmente archivos csv y cada vez que deseo verlo tengo que hacer la modificación.
Hay forma de que esta configuración que explicas quede fija?
Hola, tengo un archivo en excel donde la primera columna es categórica y no tiene nombre, el resto de las variables son continuas. Converti el archvio al formato CSV, pero al convertirlo la primera columna como encabezado aparece una x. Como se logra que no aparezca ningún encabezado en la primera columna( no tenga nombre)
BRUTAL, ERES EL PUTO AMO.
Hola Josep. Tengo problemas para abrir el archivo csv que obtengo desde los comentarios del blog de mi web «Simbiosis Fotografía de Paisaje». No lo consigo ni con Excel 2008 para Mac versión 12.0 ni con Numbers. Gracias por tu ayuda.
Necesito ayudaaaaaaa!!! Estoy intentando importar un csv de una web a mi tienda shopify y se me resiste!! No hay manera!! Ayúdame!!!😅
[…] Si quieres ver una guía detallada de cómo abrir cualquier archivo CSV que se te resista, tienes una buena explicación aquí. […]