• Sábado 16 de Noviembre de 2024, 07:49

Autor Tema:  Sacar Datos De Un Archivo De Texto  (Leído 1575 veces)

Fernando_P

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Sacar Datos De Un Archivo De Texto
« en: Jueves 26 de Agosto de 2004, 23:39 »
0
Hola a todos!

gracias por su ayuda con mi topico anterior...

Ahora tengo otro problema,

tengo un archivo plano txt que tiene el siguiente formato:


donde la primera columna es un ID la sgte es una Coord X , la sgte Coord_Y y la ultima es una referencia.

Necesito recorrer este archivo y buscar o desplegar todas las lineas donde la referencia sea mayor o igual a 10.

Coimo lo hago para que una vez leida la linea pueda guardar en cuatro variables el valor de cada columna?, sin temor a equivocarme?

Ojala puedan ayudarme, seria una gran ayuda, muy grande.

Saludos a tod@s!!!!

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Sacar Datos De Un Archivo De Texto
« Respuesta #1 en: Viernes 27 de Agosto de 2004, 15:48 »
0
Si el archivo tiene la estructura que ahi muestras entonces esto te servira:

archivo="C:\MICARPETA\BORDE.TXT"
open archivo for input as #1
while not eof(1)
   input #1,linea
   var1=cdbl(mid(linea,1,5))      
   var2=cdbl(mid(linea,6,8))
   var3=cdbl(mid(linea,15,8))
   var4=cdbl(mid(linea,24,3))
   if var4>=10 then
      print var1,var2,var3,var4
   endif
wend
close(1)


En las instrucciones mid(linea,i,j) cambia los valores de acuerdo a tu realidad, para que lea los valores donde corresponde.

Fernando_P

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Re: Sacar Datos De Un Archivo De Texto
« Respuesta #2 en: Viernes 27 de Agosto de 2004, 21:13 »
0
Gracias Jose...
Ocupe una solucion similar a la que tu me entregas, y resulta, el asunto es que es poco estandar ya que puede haber algun archivo donde las coordenadas tengan decimales por ejemplo o donde haya 1000 o 10000 puntos, por lo que la funcion MID no me serviria, o tendria que cambiarla para cada tipo de archivo.
Por esto busco una solucion mas general que me permita recorrer el archivo y almacenar en cada variable, pero usando los espacios entre columnas o algo asi, es eso lo que no se hacer.

Gracias por tu ayuda y espero haberme explicado mejor ahora.

Saludos!

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Sacar Datos De Un Archivo De Texto
« Respuesta #3 en: Viernes 27 de Agosto de 2004, 22:30 »
0
Haberlo dicho desde el principio.

Lo que requieres lo siguiente:

Si el archivo tiene la estructura que ahi muestras entonces esto te servira:

archivo="C:\MICARPETA\BORDE.TXT"
open archivo for input as #1
while not eof(1)
    input #1,linea
    pos=instr(linea," ")
    largo=len(linea)
    var1=cdbl(mid(linea,1,pos-1))
    linea=mid(linea,pos+1,linea-pos+1)
    pos=instr(linea," ")
    largo=len(linea)
    var2=cdbl(mid(linea,1,pos-1))
    linea=mid(linea,pos+1,linea-pos+1)
    pos=instr(linea," ")
    largo=len(linea)
    var3=cdbl(mid(linea,1,pos-1))
    var4=mid(linea,pos+1,linea-pos+1)
    if var4>=10 then
         print var1,var2,var3,var4
    endif
wend
close(1)