Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Módulos » xls a txt, problemas de lectura  RESUELTO Responder al tema
Nuevo tema


Página 1 de 1  [ 3 mensajes ] 
 
Nota 2012-01-06 16:41 @737

Perlero Nuevo
Registrado: 2011-12-14 17:17 @762
Mensajes: 15
xls a txt, problemas de lectura
Hola. Necesito leer una serie de archivos (cualquier extensión) y generar archivos txt a partir de ellos. Antes cada registro del archivo leído debe ser insertado en una tabla.

Estaba leyendo xls y generando el txt respectivo sin problemas, pero ahora me ha surgido un error que hace que se caiga mi aplicación.

Por algún motivo, ahora el archivo xls (que quiero abrir desde un ftp, al hacer doble clic sobre él en el File Transfer Window de SSH), me avisa con una caja de diálogo, que el archivo está en uso y debe ser abierto solo en modo escritura.

Lamentablemente, no tengo el archivo abierto, tampoco otra aplicación. Cambié sus permisos a 775, cambié el owner a nobody, pero aún así me aparece este dialogo.

El problema surge porque no se me cae la lectura del archivo, y la aplicación asume el dialogo para leer la primera línea y ahí es donde el código se enreda porque lee basura y al querer grabar en la tabla, me aparece una línea del estilo

VALUES (SEQ_ID_REG.nextval, 29,UPPER('ÐÏࡱa ...

lo que me da error en el insert.

No se en qué más debo fijarme. ¿Alguna luz, por favor?
¿Alguna otra manera de transformar xls a txt?

Gracias.


Nota 2012-01-06 17:19 @763
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: xls a txt, problemas de lectura
El problema está en que aún sigues usando Windows.

Este sistema operativo se empeña en vigilar qué aplicación abre qué archivo. Si te dice que ese archivo está en uso, es que lo está. Y no importa los permisos que le pongas en el lado del servidor. Lo que cuenta es quién lo está viendo en ese momento.

Cuando haces el doble clic para bajártelo por FTP, ¿no estará el antivirus analizando el archivo, en ese preciso momento? Podría ser incluso el propio programa de FTP, alguna copia que haya quedado en memoria.

Si bajas el archivo desde el servidor a un directorio local, y de allí lo mandas al programa, ¿te sale el mensaje de error?

Existen utilidades para Windows (no incluidas de base, por supuesto) que funcionan como el lsof de Linux, y te pueden decir qué aplicación está husmeando en ese archivo.

No conozco mucho del comportamiento de Perl en Windows, pero sé que el lenguaje tiene algunos controles para saber si puede o no leer un archivo: la comprobación '-r', un fallo en el open()...

_________________
JF^D Perl programming


Nota 2012-01-10 16:26 @726

Perlero Nuevo
Registrado: 2011-12-14 17:17 @762
Mensajes: 15
Re: xls a txt, problemas de lectura  RESUELTO
Finalmente, el problema se daba porque no estaba leyendo correctamente el nombre del archivo.

Al tomar el archivo del ftp (archivo depositado con cualquier nombre, espacios, caracteres especiales y otros) no podía dejarlo en mi local con el mismo nombre pues al tener espacios genera tantos archivos como espacios tenga el nombre, por lo que tenía que limpiar el nombre y al moverlo al directorio local lo hacía con otro nombre. Al querer abrir el archivo estaba abriendo uno que no existía y esa era la línea que me arrojaba en el insert.

Gracias por sus sugerencias.


Responder al tema  [ 3 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO