Estoy encontrando un problema en Microsoft Excel 2010 con respecto al formato automático de una cadena en una fecha, y parece perder el valor original de la celda.
Pasos para reproducir:
1 Crea el siguiente archivo CSV:
username, points
phil, 1
october51, 5
2 Abra el archivo en Microsoft Excel 2010
Nota: Hay una fila con el nombre de usuario october51
. Me gustaría que Excel retenga este valor en lugar de convertirlo en otro valor.
Ejemplo de archivo CSV abierto en un editor de texto
Cuando abro este archivo CSV de muestra en un editor de texto (por ejemplo: gVim), veo exactamente lo que espero:
Ejemplo de archivo CSV abierto en Microsoft Excel 2010
Sin embargo, cuando abro el archivo CSV en Excel, se formatea october51
a Oct-51
.
Entiendo por qué Excel está intentando formatear el campo en un formato más legible, pero prefiero mantener el valor como october51
ya que es el nombre de usuario de alguien.
Probando diferentes formatos de celda en Excel
Observe que cuando se abre el archivo por primera vez, el formato de campo para el Oct-51
celular es Personalizado . Entonces, intenté cambiar el formato a Texto
Esto no es mejor. El valor de la celda es 18902
, en lugar de october51
que es lo que esperaba. Parece que Excel desecha el valor original de la celda inmediatamente después de abrir el archivo.
He intentado todos los formatos posibles (por ejemplo: General, Texto, Especial, Personalizado), y ninguno de ellos genera el valor october51
.
El verdadero problema es que este formato de celda se mantiene cuando se guarda el archivo. Si guardo este archivo en Excel y lo vuelvo a abrir en un editor de texto, el nombre de usuario october51
en realidad ha sido cambiado a Oct-51
o 18902
, dependiendo del formato elegido para la celda.
¿Cómo puedo hacer que Excel retenga el valor de cadena original de la celda?
fuente
Respuestas:
Pruebe los siguientes pasos:
Cambie el nombre del archivo CSV para tener una extensión de TXT (es decir: sample.txt). Abra una hoja de Excel en blanco & gt; vaya a 'Archivo' & gt; Abrir & gt; En la ventana Abrir búsqueda, navegue por el archivo .csv seleccionando "Archivos de texto (* .txt, * .csv)" en la lista desplegable & gt; Haga clic en 'Abrir' pero ahora. Consulte las siguientes capturas de pantalla paso a paso:
Desmarque la pestaña y marque la casilla de coma:
Elija el botón 'Texto' y haga clic en el botón 'Finalizar'.
Espero que esto ayude.
fuente
En lugar de abrir el archivo CSV con Excel, cree una nueva hoja de trabajo e inicie el Asistente de importación de texto (en la pestaña Datos, en el grupo Obtener datos externos, haga clic en Desde texto). En el paso 3, podrá hacer clic en el encabezado de la columna y cambiar el tipo de datos de la columna a Texto. Esto evitará que Excel interprete los datos como fecha.
Para obtener más información sobre el Asistente de importación de texto, consulte Este artículo .
fuente
Terminé simplemente usando LibreOffice Calc en lugar de Excel.
Al abrir el archivo CSV en LibreOffice Calc no se estropea el
october51
datosfuente
Estaba teniendo el mismo problema al usar VBA para importar un CSV. Encontré que esto solucionó el problema de que la importación de csv que cambiaba el texto que comenzó con JANxxx, FEBxxx, MARxxx, etc. en una fecha era simplemente para establecer .TextFileColumnDataTypes = Array (2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1). Cambiar el primer valor de la matriz a 2 detuvo la interpretación incorrecta de la primera columna, que era la que contenía el texto con el que se estaba interfiriendo.
fuente