Cómo forzar a Excel a abrir archivos CSV con datos organizados en columnas

29

Genero un archivo CSV con una extensión .csv en el que cada pieza de datos en una línea se separa con una coma:

1,2,3,4
1,2,3,4

El archivo se envía por correo electrónico y quiero que cuando un cliente lo abra, vea los datos organizados en columnas.

¿Es posible tal cosa?

PD: puedo cambiar libremente el delímetro.

Timofey
fuente
1
En lo que a mí respecta, no puede hacer nada excepto importar los datos a Excel, ya que Excel no puede hacer suposiciones sobre la estructura de los datos en sí (por ejemplo, el separador utilizado, el formato de decimales o el formato general de datos).
slhck
@slhck por favor mira la respuesta
Timofey
Oh, no sabía que Excel era capaz de hacer esto. Buena esa.
slhck
1
Simplemente haga doble clic en el archivo CSV, se abrirá Excel y el archivo se mostrará correctamente. ¿Estoy en lo correcto?
Wilson
@wilson: Excel tiene que estar asociado para abrir archivos .csv y luego al hacer doble clic en un archivo .csv se abrirá Excel
Timofey

Respuestas:

9

Use la pestaña en lugar de la coma. Y si eso no funciona, dele a su archivo delimitado por tabulaciones una extensión xls.

Joel Coehoorn
fuente
gracias por la solución, dejé el .csv como extensión de archivo
Timofey
no funciona para Excel 14.7.1 en Mac (2017)
masukomi
3
el "PD: puedo cambiar libremente el delímetro". hace esta respuesta menos válida
Paul Fijma
Esto no responderá cómo cargar un archivo CSV, ya que C significa coma.
JBernardo
@JBernardo Lo hizo, una vez, pero hoy encontrará archivos con extensiones csv en estado salvaje con todo tipo de delimitadores: tabulación, canalización, coma, guión, @, \ 0, etc. Bien o mal, están ahí fuera , y la parte de la pregunta que dice "Puedo cambiar los delimitadores" hace que esta respuesta sea válida.
Joel Coehoorn
39

Si es solo para obtener la csv legibilidad en cada sistema, hay un truco indocumentado: en la primera línea escriba SEP=;. Esta línea le dice a EXCEL qué carácter usar como separador (de hecho, puede usar cualquier carácter (único) ( ;,|@#'...))

NOTA: esta línea es solo parte del csvarchivo en sí. Será no formar parte de la spreadsheed en EXCEL. eso significa que no se mostrará ni se escribirá, independientemente del formato que defina para escribir o exportar.

Stephan
fuente
¡Esto fue un salvavidas! ¡Funcionó genial aquí!
Etienne Dupuis
La mejor solución en mi humilde opinión, ya que debería funcionar con todos los idiomas
mBardos
37

El comportamiento de Excel al abrir archivos CSV depende en gran medida de su configuración local y de la utilizada list separatoren Region and language » Formats » Advanced. Por defecto, Excel asumirá que cada CSV se guardó con ese separador. ¡Lo cual es cierto siempre que el CSV no provenga de otro país!

Si sus clientes están en otros países, pueden ver otros resultados, entonces usted piensa.

Por ejemplo, aquí puede ver que un Excel alemán usará punto y coma en lugar de coma como en los EE. UU. ingrese la descripción de la imagen aquí

Para confundirlo aún más, esa configuración interfiere con el símbolo decimal que se puede configurar por separado en Excel Options » Advanced » Use system separatorso mediante la configuración regional como se muestra arriba. Excel no puede usar el mismo símbolo que la pestaña decimal y el separador de lista. Utilizará automáticamente una coma o punto y coma como separador de respaldo. Lee mas

Tomaré tu ejemplo para crear 3 archivos. Cada uno con un separador diferente y ábralo con Excel.

    COMMA               SEMICOLON                     TAB 

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

¿No es lo mismo que tu Excel? Ya me lo imaginaba.

Entonces, cambiemos manualmente la extensión de los mismos archivos CSV a XLS y veamos qué sucede ahora. Primero, Excel lanzará una advertencia de que la extensión del archivo no coincide con el contenido y Excel intenta adivinar qué hay dentro.

    COMMA        SEMICOLON                   TAB 

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Conclusión: TAB + cambio de nombre + ignorar advertencia = ¿Ganar en cada sistema?
Tal vez, pero no estaría tan seguro para clientes fuera de su propio país.

El mejor método es instruir a sus clientes para que primero abran un Excel en blanco y luego vayan Data » Get data from texty seleccionen manualmente una coma como separador

nixda
fuente
2
Esta respuesta es genial, pero me parece patético de Microsoft. Abre un csv en Numbers y se abre correctamente. Lo abres en las hojas de Google y se abre correctamente. Luego lo abre en Excel, que es el único por el que paga y ... Nada. ¿Qué pasa con aquellos de nosotros que nunca hemos establecido un separador de lista? Ahora necesito perder el tiempo tratando de hacerlo funcionar porque las "comas" no significan nada en este "csv". Muy frustrante.
Toque
1

Puede reemplazar ".csv" por ".txt", iniciar Excel y abrir ese archivo .txt. Entonces Excel le mostrará un asistente donde puede especificar usar "," como separador. Cuando guarde este archivo como .csv nuevamente, la próxima vez que Excel lo abra de la manera que lo necesite.

daviii
fuente
0

Otra solución que utilicé en esta situación fue generar un archivo HTML básico, en lugar de CSV. Excel puede abrir esto sin un error. También puede leer al menos parte del formato en el archivo.

texto sin procesar
fuente
0

Esta es la respuesta más tonta, pero funcionó. Yo uso archivos CSV a diario. Los creo todo el tiempo y los veo con excel. Hoy, después de 12 años sin ver este problema, me pasó a mí. No abriría un archivo csv y formatearía las columnas. Incluso algunos archivos csv que creé anoche con Excel, se abrirían en una columna por línea.

Solución: compruebe el administrador de tareas para todas las instancias abiertas de Excel.exe. Elimine todas las instancias e intente abrir el archivo csv nuevamente.

carapalm

Ricky
fuente
0

A corto plazo, si solo necesita abrir un archivo CSV que le ha sido enviado desde otro país,

Abra el archivo en Wordpad y use buscar y reemplazar para cambiar cada separador que el país emisor ha utilizado (por ejemplo;) y reemplazar con una coma. (p.ej ,).

Simplemente verifique que el país emisor no use una coma en lugar de otro símbolo (por ejemplo, en España usan una coma donde usamos un decimal, por lo que tendría que buscar y reemplazar la coma por un decimal y luego buscar y reemplazar el otro símbolo con la coma).

No es una solución a largo plazo, pero es lo suficientemente buena como para que el archivo sea legible si tiene prisa y no puede acceder al panel de control en el trabajo.

Steve Dexter
fuente
0

Me encontré con el mismo problema. Tenía un archivo CSV que Excel estaba analizando incorrectamente y necesitaba el Asistente de importación.

Una solución simple fue cambiar el nombre de CSV a TXT y apareció el Asistente para ayudar a reconocer la estructura de la columna correctamente.

Jan Bares
fuente