Filtrar datos

28/09/2004 - 21:00 por mfernandez | Informe spam
Hola a todos.

Necesito que me ayuden, quiero en excel o access filtrar o
importar datos de un archovo *.txt. Pero solo las filas
que yo quiera. Este archivo *.txt. es un log generado, el
archivo se presenta de esta manera:

Mon Sep 27 06:29:28 2004: [567] radrecv: Request from host
64.46.84.33 code=1, idˆ, lengthv
Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:28 2004: [567] Password = "_f\340\271\217
\321e\2667p\370\022\216m\333C"
Mon Sep 27 06:29:28 2004: [567] NAS-IP-Address =
64.46.84.33
Mon Sep 27 06:29:28 2004: [567] NAS-Port = 3
Mon Sep 27 06:29:28 2004: [567] NAS-Port-Type = Async
Mon Sep 27 06:29:28 2004: [567] Service-Type = Framed-User
Mon Sep 27 06:29:28 2004: [567] Framed-Protocol = PPP
Mon Sep 27 06:29:28 2004: [567] Sending Accept of id 88 to
64.46.84.33 (64.46.84.33)
Mon Sep 27 06:29:28 2004: [567] Service-Type = Framed-User
Mon Sep 27 06:29:28 2004: [567] Framed-Protocol = PPP
Mon Sep 27 06:29:28 2004: [567] Framed-IP-Address =
255.255.255.254
Mon Sep 27 06:29:28 2004: [567] Framed-IP-Netmask =
255.255.255.255
Mon Sep 27 06:29:28 2004: [567] Framed-Routing = None
Mon Sep 27 06:29:28 2004: [567] Framed-Compression = Van-
Jacobson-TCP-IP
Mon Sep 27 06:29:28 2004: [567] Framed-MTU = 1500
Mon Sep 27 06:29:28 2004: [567] Session-Timeout = 0
Mon Sep 27 06:29:28 2004: [567] Idle-Timeout = 900
Mon Sep 27 06:29:29 2004: [567] radrecv: Request from host
64.46.84.33 code=4, id‰, length’
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id
= "AF000166"
Mon Sep 27 06:29:29 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] NAS-IP-Address =
64.46.84.33
Mon Sep 27 06:29:29 2004: [567] NAS-Port = 3
Mon Sep 27 06:29:29 2004: [567] NAS-Port-Type = Async
Mon Sep 27 06:29:29 2004: [567] Acct-Status-Type = Start
Mon Sep 27 06:29:29 2004: [567] Acct-Authentic = RADIUS
Mon Sep 27 06:29:29 2004: [567] Service-Type = Framed-User
Mon Sep 27 06:29:29 2004: [567] Framed-Protocol = PPP
Mon Sep 27 06:29:29 2004: [567] Framed-IP-Address =
64.46.84.57
Mon Sep 27 06:29:29 2004: [567] Acct-Delay-Time = 0
Mon Sep 27 06:29:29 2004: [567] Sending Accounting-
Response for id 89 to 64.46.84.33 (64.46.84.33)


De los cuales al momento de abrir en excel o access me
copie solo:
Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id
= "AF000166"
Mon Sep 27 06:38:10 2004: [567] Acct-Input-Octets = 99992
Mon Sep 27 06:38:10 2004: [567] Acct-Output-Octets = 622809

Entre otras filas

Gracias por la ayuda.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
29/09/2004 - 08:50 | Informe spam
hola, mfernandez !

... filtrar o importar datos de un archovo *.txt ... solo las filas que yo quiera.
... el archivo se presenta de esta manera: =>[fragmentos de la consulta]<> Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id = "AF000166"
Mon Sep 27 06:29:29 2004: [567] User-Name = "editor"
... al momento de abrir ... me copie solo:
Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id = "AF000166"
Mon Sep 27 06:38:10 2004: [567] Acct-Input-Octets = 99992
Mon Sep 27 06:38:10 2004: [567] Acct-Output-Octets = 622809
Entre otras filas



te expongo un ejemplo con una macro para excel 'escrita' en un modulo de codigo 'normal'
para 'ir leyendo' cada linea del archvo 'log' [.txt] y si esta 'entre' las [otras] lineas...
las ira 'pasando' ->en la hoja activa<- y ->a partir de la celda activa<-
1° modifica la asignacion del nombre del archivo [y su ruta] en la variable 'Archivo'
2° 'ajusta' los elementos asignados a la matriz de la variable 'Datos'

si cualquier duda [o... 'falla' :-(]... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub LeerDatosLOG()
Dim Archivo As String, Datos As Variant, Log As Byte, _
Linea As String, Dato As Integer, Fila As Long
Archivo = "C:\Mis documentos\El archvo log.txt"
Datos = Array("User-Name", "Acct-Session-Id", _
"Acct-Input-Octets", "Acct-Output-Octets")
Log = FreeFile
Open Archivo For Input As #Log
Do While Not EOF(Log)
Line Input #Log, Linea
For Dato = 0 To UBound(Datos)
If InStr(Linea, Datos(Dato)) > 0 Then
ActiveCell.Offset(Fila) = Linea
Fila = Fila + 1
Exit For
End If
Next
Loop
Close #Log
End Sub
Respuesta Responder a este mensaje
#2 mfernandez
29/09/2004 - 16:41 | Informe spam
Gracias Hector.

Pero no corre la macro, sale un mensaje que no encuentra
el archivo, he cambiado el nombre de path fisicamente como
en el programa pero persite el error. Pero no da ningún
mensaje de sintaxis. Sabes que estoy trabajando con Excel
2003 y no se si sea por la versión.

Ayudame lo más pronto




hola, mfernandez !

... filtrar o importar datos de un archovo *.txt ...




solo las filas que yo quiera.
... el archivo se presenta de esta manera: =>




[fragmentos de la consulta]<>> Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id




= "AF000166"
Mon Sep 27 06:29:29 2004: [567] User-Name = "editor"
... al momento de abrir ... me copie solo:
Mon Sep 27 06:29:28 2004: [567] User-Name = "editor"
Mon Sep 27 06:29:29 2004: [567] Acct-Session-Id




= "AF000166"
Mon Sep 27 06:38:10 2004: [567] Acct-Input-Octets =




99992
Mon Sep 27 06:38:10 2004: [567] Acct-Output-Octets =




622809
Entre otras filas



te expongo un ejemplo con una macro para excel 'escrita'


en un modulo de codigo 'normal'
para 'ir leyendo' cada linea del archvo 'log' [.txt] y si


esta 'entre' las [otras] lineas...
las ira 'pasando' ->en la hoja activa<- y ->a partir de


la celda activa<-
1° modifica la asignacion del nombre del archivo [y su


ruta] en la variable 'Archivo'
2° 'ajusta' los elementos asignados a la matriz de la


variable 'Datos'

si cualquier duda [o... 'falla' :-(]... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==>Sub LeerDatosLOG()
Dim Archivo As String, Datos As Variant, Log As Byte, _
Linea As String, Dato As Integer, Fila As Long
Archivo = "C:\Mis documentos\El archvo log.txt"
Datos = Array("User-Name", "Acct-Session-Id", _
"Acct-Input-Octets", "Acct-Output-


Octets")
Log = FreeFile
Open Archivo For Input As #Log
Do While Not EOF(Log)
Line Input #Log, Linea
For Dato = 0 To UBound(Datos)
If InStr(Linea, Datos(Dato)) > 0 Then
ActiveCell.Offset(Fila) = Linea
Fila = Fila + 1
Exit For
End If
Next
Loop
Close #Log
End Sub

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida