Mikel Goni escribió:
Ariel wrote:
Hola Mikel, la forma que yo encontré lleva varios pasos. Si alguien
conoce un modo más fácil, coméntelo en la lista para beneficio de todos!!!
Te cuento como hago yo:
1. Formateo el archivo de texto txt y lo guardo como csv
2. Convierto el archivo csv en ods, es decir una hoja de cálculo
3. Abro la base de datos donde quiero guardar el archivo, selecciono
toda la hoja de cálculo y la arrastro a la base de datos para importarla.
Explicación más detallada de cada uno de los pasos:
1. Una base de datos es en realidad una tabla, e. d. una hoja de cálculo
más herramientas de consulta y formularios. Por ende, tienes que
convertir el texto plano en una hoja de cálculo. ¿Cómo? Formateando el
texto para que OOo reconozca los campos. Cada línea de texto va a
transformarse en una fila de OOo calc y luego esa fila en un registro de
OOo Base, el secreto está en saber indicar las columnas. Como ejemplo
voy a usar de separador la *
En la primera linea, tienes que definir lo que serán los campos de tu
base de datos, escribe p.e.
Apellido*Nombre*Dirección*Email*URL
En las lineas siguientes van los registros, si un contacto no tiene
alguno de los datos, lo dejas en blanco
Perez*José*calle [EMAIL PROTECTED]
Lopez*Pedro*calle yy**
[EMAIL PROTECTED]
Como vez, a Pedro López no le puse ni Email ni Url y a Rodriguez ni
dirección ni URl, en el registro esos campos estarán vacíos, pero en el
arcivo de texto hay que poner el separador de campos, en este caso *
Guarda el archivo .txt como .csv, ejemplo contactos.txt como contactos
csv. Si estas con el Block de Notas de Win ten cuidado que no te lo
guarde como contactos.csv.txt!!!! (Aunque tu agente de usuario es
KNode/9.0.2 tienes por suerte Linux!!!) NOTA: tienes que trabajar SÍ o
SÍ con un editor de texto plano, si trabajas con Writer mira bien de
guardarlo como txt plano primero y selecciona ver los caracteres no
imprimibles para controlar los saltos de lineas, pues la primera linea
define los campos, y las siguientes los registros. Debe ir UN registro
por línea.
2. El segundo paso es convertir ese archivo de texto en una hoja de
cálculo OOo. Simplemente desde cualquier tipo de documento OOo ve a
Archivo, Abrir. Te aparecerá un cuadro de diálogo de importacón de csv a
OOo Calc.El cuadro se titula "Importar texto". Selecciona "A partir de
linea 1". En Opciones de separación, Separado, Otro y escribe en este
caso *, que es el signo que escogi para separa los campos. No te olvides
de destildar la Coma. Si todo está bien hecho, en el recuadro de abajo
vas a poder previzualizar tu hoja de calc. Mira que los registros con
campos vacíos hayan quedado bien!!!
Acepta y se crea la hoja de cal, guardala con formato ods.
3. El paso final es crear la base de datos. Abre la base que ya tengas
registrada o crea una nueva. En el marco de la izquierda "Bases de
datos" selecciona "Tablas". Pinta toda la hoja de calc y con el mouse
arrástrala a la base, en el marco derecho inferior que dice "Tablas", y
te aparecerá un cuadro de importación de cal a base: "Copiar tabla".
Selecciona copiar la definición (es decir la primera linea de calc es la
def. de campos de base) Y los datos (las siguientes lineas son los
registros de tu base). Luego "Aceptar columnas", selecciona los campos,
y en "Formateado de tipos" dale formato a los campos, presta atención a
la cantidad de caracteres por campo!!!
Y listo!!!!!!! Crea tu base de datos!!!!!!!!
Espero que haya sido claro.
Así es como lo hago YO, puede haber formas más fáciles!!!!!
Saludos y suerte.
Ariel, desde La Plata, Argentina.
PD. te envio adjunto el archivo .csv y .ods que hice de prueba, ábrelo
con el editor de texto. Como ves, da resultado!!!!
Mikel Goni escribió:
Hola!
Lo primero de todo me gustaría agradecer de antemano cualquier respuesta
o sugerencia.
Tengo un archivo de texto con una lista de contactos que incluyen
direcciones números de telefono notas, etc..
Esta lista está en un archivo de texto plano (txt) y tiene este formato:
Nombre:Nombre del contacto
Teléfono: número de telfono
Url: url del contacto
etc...
cada campo corresponde a una linea.
El problema es que no todos los contactos incluyen todos los campos y por
lo tanto no puedo pasar de texto a tabla y de ahí (supongo) a una base de
datos.
Lo que quiero es pasar cada uno de estos contactos a un registro de una
base de datos.
Modificar todos los registros a mano no es viable pues son un montón y un
simple error me dejaría la tabla inservible.
Mi pregunta es ¿incluye OOo una herramienta o combinación de ellas para
realizar esta tarea?
h estado explorando el tema de las macros pero no tengo ni idea de
Basic,¿puedo encontrat alguna macro o script que haga lo que quiero?
¿Alguna opción externa a OOo? Uso Mandriva Gnu/Linux
Reiterando miagradecimiento me despido,
Mikel G
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Hola Ariel!
Ante todo muchas gracias por tomarte la molestia de responder.
He estudiado tu sistema, pero, como me temía no me sirve, si fuera un
documento más pequeño me podría permitir el lujo de repasar campo y
registro uno a uno. Pero como he dicho es inviable.
Necesito algo que funcione en base al reconocimiento de cadenas de
caracteres. Puesto que en el comienzo de cada línea tengo, por suerte, el
tipo de información que incluye la línea.
De todas formas gracias de nuevo.
Un saludo
Mikel G
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Hola Mike.
Alguna vez hice algo parecido, pero la verdad no recuerdo como.
Si me puedes mandar una fracción de tu archivo, tal vez pueda ayudarte,
sólo que necesito experimentar con él.
Saludos.
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.yahoo.com.mx/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]