ArgenSteel
https://argensteel.org/

Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?
https://argensteel.org/viewtopic.php?f=12&t=4879
Página 1 de 1

Autor:  Karl [ Jue Sep 23, 2010 4:25 pm ]
Asunto:  Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?

Hola amigos! :D

Un amigo me pidió que le hiciera un programa que maneje una base de datos para sus pacientes, y mi problema es el siguiente:
Resulta que mi amigo tiene un archivo WORD para cada uno de sus mil y pico pacientes, y lo que a él le gustaría tener es una base de datos con los datos de todos sus pacientes (para eso me llamó a mi). Para él lo ideal sería que el programa pasara AUTOMATICAMENTE los datos de cada archivo WORD a la base de datos, para no tener que agregar a sus pacientes uno por uno de nuevo.

Lo que a mi se me ocurrió para poder pasar de archivo plano a base de datos, es escribir un código en mi programa que siempre que vea ciertas palabras claves (como "nombre" (o "NOMBRE", o "Nombre", o "nombre:", o otra variante de mayúsculas y minúsculas y algún signo de puntuación (ocupando operaciones lógicas OR y AND)), "apellido", "fecha", etc), que copie lo que viene después del espacio en blanco al campo de la base de datos que corresponde.

[B]El gran problema que tengo[b] es que, por lo que tengo entendido, el formato que usa word es MUY DIFERENTE al que usa un archivo plano de texto (.txt), ya que en el archivo word aparte del contenido "escrito", hay muchos más datos metidos, como el tamaño de la letra, el tipo de letra, el alineamiento, el formato, etc, etc, etc, etc, etc... así que no es cuestión de solo cambiar la extensión del archivo. :P

Entonces mi pregunta apunta a lo siguiente: ¿Existe algún programa para cambiar de [b]forma masiva[b] archivos word a archivos planos de texto?
Si alguien tiene otra idea acerca de como pasar los mil y tantos archivos word con los datos de los pacientes a una base de datos, sientase libre de postearla acá :thumbup:

Gracias de antemano.

PS: Los archivos word están bastante ordenados:
Nombre
Apellido
Fecha inicio
etc
..
..
..

Autor:  Lian [ Jue Sep 23, 2010 6:22 pm ]
Asunto:  Re: Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?

Lo que se me ocurre en el momento es unir todos los archivos de Word en uno solo y luego copiar el texto a un archivo txt.

Para unir los archivos Word tenés acá una explicación
Código:
http://es.answers.yahoo.com/question/index?qid=20100822065609AAZQW1b

Espero que te sirva.

Autor:  Alfredo85 [ Jue Sep 23, 2010 7:36 pm ]
Asunto:  Re: Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?

No tengo idea de como hacer eso, pero si te tomas el trabajo de pasar esos datos a access luego te queda como vos queres, que al poner un apellido aparezcan los demas datos,más todas las opciones de consulta que podes hacer en access. Suerte :salud:

Autor:  javier [ Jue Sep 23, 2010 8:40 pm ]
Asunto:  Re: Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?

Tenes 2 posibles soluciones..
1 - Por un tiempo seguir usando los 2 sistemas (los archivos de word y el programa).. Y que vaya pasando los datos de los pacientes a medida que vallan yendo al consultorio.
2 - Contratar a alguien que te haga el data entry de todos los registros (o hacerlo vos :P )

Si queres hacer que el programa te pase los .doc a la DB, vas a necesitar que todos los archivos tengan el mismo formato.. Además, tenes que saber bastante de expresiones regulares.

Autor:  Karl [ Vie Sep 24, 2010 12:26 am ]
Asunto:  Re: Base de datos: ¿Cómo convertir masivamente archivos words a archivos txt?

Gracias por las sugerencias, muchachos!

@ Lian
La solución que me planteas tú me parece muy buena :thumbup: Me podría ayudar a solucionar el problema.
El problema es que después de hacer lo que tú propones, yo tendría que pasar ese archivo enooooooooooooooorme a la base de datos, y mepa que va a ser bastante complicado, ya que van a estar mezclados todos los pacientes en un solo archivo, y si a la secretaria se le había olvidado poner un solo campo a un paciente, lo más probable es que se corran los datos al pasarlos a la base de datos.
Con un archivo por persona me aseguro que, aunque a la secretaria se le haya olvidado completar UN campo del paciente, TODOS los otros datos van a corresponder a ese paciente.
Igual me parece buena idea, pero antes voy de implementarla voy a ver si hay otra solución.

@ Alfredo85
Es cierto, me han dicho que Access es una herramienta muy buena y fácil de aprender para manejar bases de datos, PERO tengo dos problemas con eso:
1.) No me quiero dar el trabajo de pasar los datos uno por uno, es por eso que estoy buscando un algoritmo o programa que lo haga por mi
2.) Quiero usar al mínimo los programas de Microsoft (y software privativo :tongue: ), así que si bien Access es fácil de aprender, si voy a aprender a manejar bases de datos, prefiero aprender otros lenguajes.
Gracias igual por la sugerencia

@ Neiker
Precisamente, para las dos soluciones que me planteaste, mi amigo me dijo dos cosas parecidas:
1.) Si no existe forma de pasar los archivos word a la base de datos, la base de datos parte desde que haya terminado el programa (es decir, a medida que pasen los pacientes a la consulta él los va ingresando)
2.) Él le puede pagar (bien barato) a sus hijos para que le pasen los datos :lol: (hay que aprovechar la mano de obra de la casa :D )
Igual.... para mi el desafío está en encontrar una forma de automatizar el proceso.
Acerca de lo que me dices que para pasar los .doc a la DB necesito que todos los archivos tengan el mismo formato...... ¿Con eso te refieres a que todos los archivos deben tener la misma estructura? Por ejemplo:
Citar:
Nombre: nombre_paciente


Apellido: apellido_paciente

DNI: DNI_paciente
Fecha Nacimiento: fecha_nacimiento_paciente
Diagnóstico: diagnostico_paciente

TODOS los archivos tienen que tener las mismas letras en negrita, los párrafos centrados al mismo lugar, los mismos retornos de carro y las mismas palabras subrayadas, cierto? (entre muchos más detalles de ese estilo) y si un archivo tiene un campo más o un campo menos no lo voy a poder pasar, verdad? Debido a que word pone un montón de "expresiones regulares" cuando uno escribe escribe los datos.
Es por eso que no quiero pasar los archivos directamente de .doc a la DB, sino que quiero hacer lo siguiente:
.doc -> .txt -> DB

Pasar de .doc -> .txt no creo que deba ser muy difícil: pasar los caracteres uno por uno y omitir todas las expresiones regulares de word. Y para pasar de .txt -> DB voy a usar el algoritmo que puse en mi primer post.... pero para pasar de .doc -> .txt es donde tengo problemas (para pasar un solo archivo no hay problema: usar la opción "guarda como .txt" de word, pero para pasar mil y tantos archivos es donde está el problema).

Gracias por la atención :salud:

Página 1 de 1 Todos los horarios son UTC - 3 horas
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/