No se puede aplicar el formato numérico a la columna en un archivo CSV moderadamente grande en Excel

No se puede aplicar el formato numérico a la columna en un archivo CSV moderadamente grande en Excel

Tengo un archivo CSV de tamaño moderado (195.000 filas). Por alguna razón, cuando intento formatear una columna de números como moneda al abrirla en Excel, no hace nada en absoluto. Si edito el archivo y dejo un subconjunto más pequeño de filas en el archivo (10-20 filas), puedo formatear la columna.

¿Es este un problema conocido con Excel? Por supuesto, puedo guardarlo como un archivo de hoja de cálculo de Excel real y luego todo funcionará bien, pero me gustaría saber qué está pasando de todos modos.

Respuesta1

Sí, este es un comportamiento conocido en Excel.

Excel no le permite configurar la importación de un CSV, por lo que no puede influir en él de la manera mencionada. Así es como el problema puede existir. Si pudiera, nunca llegaría al problema.

Describiré el problema, pero no tengo los detalles para hacer lo que menciono. Está disponible en Internet, pero recuerdo que tardó algún tiempo en encontrarlo y no lo tengo ahora. Mis disculpas por esa parte.

El problema es que cuando Excel importa un archivo como CSV, en realidad solo mira los primeros 16 registros en cada columna de datos para decidir cómo formatear la columna al importar. Sí. 16 registros, incluso con una carga potencial de 195.000 filas o un millón.

Un buen punto al respecto: en los datos, a menudo las filas son razonablemente representativas y también se considera el impacto en la memoria y la velocidad de leer todo el conjunto de datos y decidir cómo importar las columnas. (Yo mismo recibiría ese golpe, pero...)

Sin embargo, considere un ejemplo que encontré aquí hace uno o dos meses en el que los tiempos aparecían en formato de horas y minutos o tal vez en minutos y segundos. Porque los datos probablemente se ordenaron en realidad o en su método de creación, por tiempo y, por supuesto, uno o dos minutos y algunos segundos fueron los registros iniciales. No funciona allí, ¿eh?

Hay una manera, y esto es lo que hay que investigar, de indicarle a Excel que mire tantos registros como desee antes de decidir cómo formatear las columnas. Esa es la solución al problema dentro del programa.

(Si Excel te permite forzar el formato como con un archivo TXT, efectivamente te estaría permitiendo controlar este aspecto, pero... ya sabes... Excel...)

Otras soluciones están fuera de Excel. Cosas como agregar algunas filas al principio que tienen la forma/material para forzar el formato que necesita. Bórralos más tarde. O edite para mover un montón de filas desde el medio hasta el principio. Ese tipo de cosas. Perfectamente bien, relativamente fácil, pero ¿quién no preferiría una solución dentro del programa, verdad?

Excel incluye una variedad de métodos para importar cosas, además de simplemente abrir un archivo CSV. Uno de ellos podría satisfacer sus necesidades y parece permitir el control necesario.

Por cierto, me encontré con este al analizar los problemas que parecen enfrentar los programas que toman sus propios datos y crean hojas de cálculo de Excel a partir de ellos, con fórmulas y formato. Parece que algunos usan Excel hasta cierto punto en lugar de escribir toda la programación ellos mismos. Válido, pero luego son víctimas de las deficiencias de Excel. Me refiero a las características, no a los defectos, por supuesto...

información relacionada