¿Cuál es la forma menos propensa a errores de compartir datos CSV?

1

Uno de mis trabajos es subir datos de productos a la tienda de la compañía. Mi supervisor inicialmente extrae los datos de la base de datos de la compañía, y ella los coloca en una hoja de cálculo de Excel y los exporta como CSV. Luego convierto el archivo CSV al formato que el software de la tienda desea y lo subo. Generalmente uso una combinación de programas cortos de Java que he escrito y OpenOffice Calc para hacer los ajustes.

En algún lugar del proceso, los números de productos a veces se convierten en fechas. He notado que OO Calc a veces hace esto, e imagino que Excel tiene una característica molesta similar. He buscado en Google hasta que me sangran los dedos tratando de encontrar una manera de apagarlo en OO, y no puedo encontrar una solución. Incluso si lo hiciera, el uso de Excel por parte de mi supervisor podría ser el culpable. A menudo, estos problemas de conversión no se notan hasta que los productos ya figuran en la tienda electrónica, y no he tenido la oportunidad de rastrear el proceso y encontrar la fuente definitiva del problema.

¿Cuál es la mejor manera de manejar los datos CSV de tal manera que ninguno de los valores iniciales se cambie cuando se pasa a diferentes programas?

kallenboone
fuente

Respuestas:

1

Si puede hacer que su supervisor no use Excel, exporte directamente a CSV.

knitti
fuente
De acuerdo, usar Excel en este proceso no tiene ningún propósito, extraer de la base de datos como CSV.
Hydaral
0

Intente encerrar los números entre comillas mientras lo procesa a través de su programa Java. OO / Excel será más probable que lo trate como texto y al menos no lo altere en algún formato de fecha incorrecta.

Joel Coehoorn
fuente
Sin embargo, Java tiende a ser la última parte del proceso. Si el daño está hecho por Excel u OO, ya está hecho cuando Java lo toca.
kallenboone
0

Bueno, la mejor manera sería (IMHO) dejar de usar Excel y OpenOffice y hacer todo en Java. La siguiente mejor opción sería dejar de usar openoffice y hacer eso en Java.

Pero si realmente desea seguir usando Excel y / o openoffice, puede solucionar su problema cambiando temporalmente los números de producto a algo que definitivamente no parece una fecha. Por ejemplo, puede rodear los números de producto con una cadena especial (que nunca aparece en el número de producto naturalmente) que luego elimina antes de realizar la exportación final a csv.

Nifle
fuente
Me encantaría usar esta solución, pero no estoy seguro de que sea posible. Mi supervisor no es una persona de TI; ella está comercializando. Ella obtiene los datos de una base de datos. Se accede a algunas de las bases de datos de la compañía con Access. Otros están conectados con un programa VB creado por el departamento de TI. Estoy bastante seguro (pero no 100% seguro) de que obtiene los datos del producto del programa VB, pero no estoy seguro de en qué formato está cuando los obtiene. Puede ser que deba usar Excel para convertirlo en un CSV. Voy a pedirle que explique el proceso y ver qué puedo hacer desde allí. ¡Gracias por la respuesta!
kallenboone
@ Mongooseman - ¿Quizás puedas obtener los datos antes de que los importe a Excel? O tal vez pueda omitir Excel por completo y obtener los datos sin procesar de la base de datos. Incluso podrías ahorrarle algo de trabajo.
Nifle
Eso sería ideal, pero hay algunos problemas en el camino. Lo más importante es que a menudo trabajo de forma remota. El servidor de la empresa, donde se almacena la base de datos, solo es accesible a través de la red de la empresa, a la que no se puede acceder de forma remota. Estoy seguro de que hay una manera de hacerlo disponible a través de Internet, pero dudo que el departamento de TI lo configure solo para mí. Sin embargo, debería ser perfectamente factible durante las vacaciones de verano y Navidad cuando estoy trabajando en casa.
kallenboone
@Mongooseman: ¿podría crear una plantilla de Excel donde especifique el tipo de datos de cada columna e importe los datos utilizando eso? (no soy un usuario de Excel)
Nifle
No tengo Excel, y no sé mucho sobre cómo usarlo. Sin embargo, probablemente podría resolverlo y hacerlo con las computadoras en el laboratorio de informática del departamento de informática. Primero necesito averiguar exactamente cómo me envía mi supervisor los datos de la base de datos, para asegurarme de que sean necesarios. Estoy esperando que me devuelva el correo electrónico.
kallenboone
0

Me parece que la solución es asegurarse de que los campos de datos estén configurados para interpretar los datos correctamente. Seleccioné una columna, por ejemplo, configuré su "tipo" y luego agregué los datos. O cambie el formato DESPUÉS de que se importen los datos.

EDITAR: vuelvo a leer su pregunta. Creo que la respuesta a su pregunta es asegurarse de que la hoja de cálculo de datos en sí esté formateada correctamente primero.

Saludos,

Xavierjazz
fuente