La forma más fácil de abrir CSV con comas en Excel


196

Los archivos CSV se asocian automáticamente con Excel, pero cuando los abro, todas las filas están básicamente en la primera columna, así:

ingrese la descripción de la imagen aquí

Probablemente se deba a que cuando Excel piensa en "valores separados por comas", en realidad busca algún otro delimitador (creo que es punto y coma, pero no es importante).

Ahora, cuando ya he abierto este archivo en Excel, ¿hay un botón o algo para decirle "vuelva a abrir este archivo y use una coma como delimitador"?

Sé que puedo importar los datos en una nueva hoja de trabajo, etc., pero solicito específicamente ayuda con la situación en la que ya tengo un archivo CSV con comas y quiero abrirlo en Excel sin crear un nuevo libro de trabajo o transformar el archivo original.


2
Por varias razones, más allá del delimitador, es una muy mala idea dejar que Excel abra CSV (o cualquier otro archivo de texto sin formato) usando la configuración predeterminada. Dependiendo de su archivo fuente, usted corromperá sus datos. He escrito un artículo en profundidad sobre esto aquí: theonemanitdepartment.wordpress.com/2014/12/15/…
Wouter

44
Es tan difícil entender lo que debe estar sucediendo dentro de Microsoft que Excel todavía no puede abrir archivos CSV así como así. También rompe números, etc. de formas sorprendentes. Incluso JavaScript no lo convierte implícitamente mal.
usr

Lo sentimos excavación hasta la tumba .. pero hay una muy buena oportunidad el hecho de su primera línea no tiene ninguna coma hace que Excel renunciar a tratar
patricktokeeffe

Solo use ;como delimitador y abrir el archivo con doble clic lo separará en columnas en MS Excel.
Hrvoje T

Respuestas:


179

Vaya a la pestaña Datos y seleccione texto a columnas en herramientas de datos, luego seleccione delimitado y presione siguiente . Luego seleccione coma como delimitador y presione finalizar

ingrese la descripción de la imagen aquí


55
¿Y tiene que hacer eso cada vez que hace doble clic en * .csv en el Explorador de Windows? De alguna manera, no puedo creer que no haya una forma más sencilla, especialmente si Excel se asocia con la extensión de archivo * .csv.
Borek Bernard

3
Por lo general, debería aparecer un asistente para que haga este proceso cuando abra el archivo, pero si no es así, puede hacerlo de esta manera. También puede ir a datos (obtener datos externos) del texto y ejecutar el asistente de importación desde allí.
Raystafarian

13
Ese es el problema, no quiero importar ningún dato, estoy abriendo un archivo CSV perfectamente válido con el que Excel incluso se asoció. Pero bueno, si es así, probablemente necesite encontrar algo más para editar archivos CSV.
Borek Bernard

2
Sí, es un PITA, lo mismo aquí con Excel 2003. También tengo que usar Data \ Import. Realmente no es un problema en sí mismo, pero hago estas importaciones solo dos veces al año, así que regularmente me olvido e intento primero File / Open ;-(
Jan Doggen

1
@gstackoverflow que pueda, simplemente seleccione la columna A y luego haga esto.
Tom

162

Colocación:

sep=<delimeter>

ya que la primera línea de su archivo csv le indicará automáticamente a Excel que use ese carácter como separador en lugar de la coma predeterminada.

P.ej:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

dará como resultado que se use una tubería (|) como delimitador en lugar de coma, sin que el usuario tenga que ejecutar primero el asistente de importación.


77
Para que esto funcione en Excel 2013, debe desmarcar Use system separators enOptions>Advanced
Michael Field

1
¿Puedes definir el separador decimal de manera similar? Quiero que sea ., por ejemplo, porque 1.5en mi sistema .es el separador de miles.
CGFoX

2
Esto funcionó para mí, incluso si he marcado "Usar separadores del sistema". Ninguna otra solución funcionó para mí.
asombro

Confirmando que esto funciona en Excel 2016 con "Usar separadores del sistema" marcado. Esto es genial.
Bas

¡La solución perfecta para un estúpido problema! (Excel debería poder reconocer el separador usado, o al menos me lo pidió, ¡y déjame decidir!) A continuación : ¿es posible forzar a Excel a usar otro juego de caracteres también? ¡Todos mis CSV están en UTF-8, pero Excel intenta abrirlos como 'Macintosh', lo que me está creando muchos problemas!
Qualbeen

51

No sé si logró resolver este problema, pero también tuve el mismo problema y lo resolví después de algunas investigaciones.

Resulta que era un problema de configuración regional;

Vaya a su panel de control -> Configuración regional -> Configuración avanzada y cambie su separador de lista a una coma .

El mío se configuró en punto y coma para Sudáfrica después de cambiarme a Windows 8. Después de cambiarlo a una coma, todos mis CSV se abren correctamente con Excel 2013.

Espero que esto ayude.

Comentario adicional:
Utilicé los mismos pasos que Lèse majesté, pero también cambié el símbolo Decimal de una coma (,) a una parada completa (.) Y solucionó mi problema.

Esto se debe a que, de manera predeterminada, Windows 8 usa una coma como símbolo decimal y Excel se confunde cuando tiene que usar los caracteres como separador y símbolo decimal.


Ya establecido así, e ignorado por Excel. Todavía no se separa por comas.
Elliot

Ir probablemente requiere al menos un cierre de sesión, el inicio de sesión surta efecto.
Gert van den Berg el

Me funcionó después de cambiar el símbolo decimal, ¡gracias!
James Cameron el

1
Bueno, todavía creo que es indignante que Excel use la configuración regional para leer un formato de archivo.
asombro

Gracias. Esta configuración resolvió un gran problema para mí en el trabajo. ¡Excel es tan estúpido!
Moha

19

Esto es lo que funcionó para mí: es una combinación de algunas de las respuestas aquí.

(Nota: Mi PC está usando una configuración de formato checo que formatea números como este: 1 000,00es decir, la coma se usa como separador decimal y el espacio como separador de miles. El separador de lista predeterminado en la configuración del sistema es ;).

  1. Cambié el separador de la lista del sistema a una coma en Región -> Configuración adicional
  2. En Excel 2013, fui a Opciones -> Avanzado y sin marcar Usar separadores del sistema (en "Opciones de edición", que es la primera sección)
  3. Configuré el separador decimal en Excel. y el separador de miles en ,(el separador de miles probablemente no importa, pero quería hacerlo coherente con el formato de EE. UU.)

Una alternativa a los pasos 2 + 3 sería cambiar esta configuración en la configuración del sistema (paso 1), pero generalmente quiero tener los números formateados de acuerdo con una configuración regional checa.

Desventajas : en Excel, ahora necesito ingresar números decimales usando la configuración regional de EE. UU., Es decir, usando el punto en lugar de una coma. Eso se siente un poco antinatural pero es una compensación aceptable para mí. Afortunadamente, la tecla de coma en mi teclado numérico se convirtió automáticamente en la tecla de punto (y solo en Excel; otras aplicaciones aún muestran una coma).


No funciona con Excel 2010 / cz :-(
Leos Literak

@LeosLiterak: Sin embargo, lo probé en Excel 2013 y funcionó.
Sk8erPeter

10

Aparentemente, Excel usa una configuración regional de Windows 7 para el delimitador predeterminado para CSV (que aparentemente es una pestaña por defecto). Puede cambiar esa configuración así .

Sin embargo, no sé qué otras repercusiones tendrá esto. Supongo que si todos los archivos CSV en su computadora están separados por comas, entonces no debería haber ningún problema. Pero si tiene otro programa (probablemente Microsoft) que también usa archivos CSV, y normalmente usa CSV formateados con un delimitador diferente, entonces esto podría ser problemático.

Por ejemplo, si Outlook usa CSV separados por tabuladores para importar / exportar contactos, y recibe dichos CSV de una fuente externa (Gmail, otra computadora, lo que sea ...), entonces cambiar esta configuración de todo el sistema podría evitar que Outlook se abra estos CSV separados por tabuladores.


3
Intenté cambiar mi "configuración regional y de idioma"> Formatos> Configuración adicional> Separador de lista, sin embargo, no tuvo ningún efecto al abrir archivos CVS en Excel. Desafortunadamente, no es una solución.
Borek Bernard

2
Lo mismo aquí con Excel 2010 y Windows 7. Ya estaba, en mi configuración, y Excel todavía está predeterminado en la pestaña.
rhsatrhs

¿Alguna idea de si podemos ingresar 2 caracteres diferentes en este cuadro en el Panel de control? Por ejemplo, ;,para permitir a ambos personajes como separadores marinos de la lista?
Dzhuneyt

7

LibreOffice Calc tiene un filtro csv muy avanzado que le permite elegir separadores, formatos y codificaciones. Trabajo extensamente con datos en varios formatos y muy a menudo necesito enviar estos datos en formato Excel a los usuarios. Uso LibreOffice Calc para convertir archivos csv al formato deseado, luego los guardo como xls.

Es posible que esto no responda cómo hacerlo fácilmente en Excel, pero responde cómo hacerlo fácilmente, especialmente porque OP en los comentarios sugiere que usar algo diferente a Excel sería una opción aceptable.


4

Excel 2010: además de validar su configuración avanzada regional, asegúrese de verificar su configuración avanzada de Excel:

Archivo -> Opciones -> Avanzado

Asegúrese de que "Usar separadores del sistema" esté marcado.


2
O, por supuesto, asegúrese de que no esté marcado si desea importar algo que sea diferente de su configuración regional. :-) Pero: es bueno saber que esta configuración existe; Nunca he oído hablar de eso antes.
Arjan

1
Estas configuraciones solo parecen influir en los separadores de números, no en el separador de listas.
Borek Bernard

3

Una guía paso a paso para los perplejos:

  1. Presione la tecla de Windows
  2. Escribe " intl.cpl " y presiona Enter.
  3. Haga clic en " Configuración adicional ".
  4. Vaya a la pestaña " Números ":
  5. Cambia el símbolo decimal a un punto .
  6. Cambie el " Símbolo de agrupación de dígitos " a un espacio .
  7. Cambie el " Separador de lista " a una coma .
  8. Vaya a la pestaña " Moneda ":
  9. Cambia el símbolo decimal a un punto .
  10. Cambie el " Símbolo de agrupación de dígitos " a un espacio .

Eso está bien si siempre está usando sus archivos .CSV de creación propia. Pero no funciona cuando obtiene un archivo de otra persona que utilizó una coma como separador.
stevenvh

0

Cambiando el separador decimal a. (punto) y el separador de lista para, (coma) ayudó a mantener CSV en vista normal en Excel en computadoras noruegas.


También en mi búlgaro
Петър Петров

0

Para mi sistema, la configuración ya estaba configurada a lo que otros han sugerido aquí (conjunto de símbolos decimales a. (Punto) y conjunto de separadores de lista a, (coma)) PERO todavía tenía problemas de visualización al importar un archivo CSV exportado desde una aplicación diferente .

Después de un pequeño ensayo y error, encontré una solución que abre todos los archivos CSV en la vista correcta.

Esto es lo que funcionó para mí en Excel 2013 con Windows 8:

Panel de control> Reloj, idioma y región> Región> Configuración adicional> Separador de lista configurado en ,; (coma Y punto y coma) -> haga clic en "aplicar" y luego vea si eso funciona.


0

En Excel, pestaña DATOS , en la subsección Obtener datos externos , haga clic en " Desde texto " e importe su CSV en el Asistente.


0

Sé que ya se ha aceptado una respuesta, pero un elemento para verificar es la codificación del archivo CSV. Tengo un script Powershell que genera archivos CSV. Por defecto, los codificaba como UCS-2 Little Endian (por Notepad ++). Abriría el archivo en una sola columna en Excel y tendría que hacer la conversión de Texto a Columnas para dividir las columnas. Cambiar el script para codificar la misma salida que "ASCII" ( UTF-8 sin BOM por Notepad ++) me permitió abrir el CSV directamente con las columnas divididas. También puede cambiar la codificación del CSV en Notepad ++ .

  • Codificación de menú > Convertir a UTF-8 sin BOM
  • Guarde el archivo CSV
  • Abrir en Excel, las columnas deben dividirse

ASCII y UTF-8 sin BOM no son lo mismo. En realidad, ASCII encaja en UTF-8 sin BOM sin problemas, ya que UTF-8 tiene eso cubierto en el estándar. Tan pronto como aparezcan los caracteres no cubiertos en ASCII, podría generar ANSI o UTF-8 en su lugar ... Si la salida nunca tiene nada fuera de ASCII, entonces está bien
sinni800

0

Con la versión más reciente de Excel 2010, puede abrir (menú: Archivo, Abrir o control-O) un archivo .CSV como archivo de texto. Luego, obtiene directamente el asistente, tan fácil como con LibreOffice Calc, donde puede seleccionar el delimitador de campo correcto.

ingrese la descripción de la imagen aquí

Esto solo funciona con archivos con la extensión .CSV adecuada. Mi aplicación fue producir salida CSV con una extensión .ACC, e intentar abrir eso en Excel con el método anterior, lo lleva a esquinas de Excel completamente diferentes :-(

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.