Velocidad de proceso

28/03/2007 - 14:41 por Daniel Pozzi | Informe spam
Hola, estoy usando excel para procesar un archivo txt. Con line input voy
analizando linea a linea del txt y según el contenido le asigno una columna
de la planilla. Por ejemplo, en la linea de texto "dato34", se crea una
columda dato con una linea 1234, si se repite "dato" agrega el contenido en
otra fila.
Esto es muuuuy lento, son archivos bastante grandes. Alguna recomendación
para hacer el proceso mas rápido?

Preguntas similare

Leer las respuestas

#6 Daniel Pozzi
30/03/2007 - 03:13 | Informe spam
En la hoja RGN10 van las columnas Type, Label y Origin0 con estos datos:
0xc00, LA cLARITA, -31.96072,-58.41016
En la hoja RGN40 van las columnas Type, RoadId, RouteParam, Data0, Nod1,
NOd2, Nod3 con estos valores: 0xa, 92, 1,0,0,0,0,0,0,0,0,0,0,0, 0,345,0,
1,341,0, 2,346,0
Esto lo hago perfectamente leyendo linea a linea del txt, pero supongo habra
una manera mas rapida de hacerlo. Pensa q son archivos de mas de 2 Mb...



"Héctor Miguel" escribió en el mensaje
news:
hola, Daniel !

podrias exponer [+/- exactamente] 'como' y donde es que quedarian los
registros 'definitivos' [como los] siguientes:
-> RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
-> Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
-> Nod1=0,345,0

'asumo' que en una hoja llamada como su bloque [RGN10 o RGN40 o ...]
pero...
-> cual seria el arreglo final [o el despiece/desgloce/...] del contenido
de cada linea del archivo de texto en la hoja de calculo -?-

saludos,
hector.

__ la consulta original __
Aqui va un trozo del txt:

[RGN10]
Type=0xc00
Label=LA CLARITA
Origin0=(-31.96072,-58.41016)
[END-RGN10]

[RGN40]
Type=0xa
RoadID’
RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
Nod1=0,345,0
Nod2=1,341,0
Nod3=2,346,0
[END-RGN40]

ahora lo q hago es detectar el [RGN10] /[RGN40], y en una hoja RGN10 o
RGN40
guardo en columnas Type, Label, etc. los datos q estan despues del "=".
Esto funciona correctamente. Pero tengo la inquietud de hacerlos mas
rapido, son muchas lineas de texto...




Respuesta Responder a este mensaje
#7 Héctor Miguel
30/03/2007 - 03:42 | Informe spam
hola, Daniel !

En la hoja RGN10 van las columnas Type, Label y Origin0
con estos datos: 0xc00, LA cLARITA, -31.96072,-58.41016
En la hoja RGN40 van las columnas Type, RoadId, RouteParam, Data0, Nod1, NOd2, Nod3
con estos valores: 0xa, 92, 1,0,0,0,0,0,0,0,0,0,0,0, 0,345,0, 1,341,0, 2,346,0
Esto lo hago perfectamente leyendo linea a linea del txt
pero supongo habra una manera mas rapida de hacerlo.
Pensa q son archivos de mas de 2 Mb...



=> creo que no supe 'darme a entender' :))
de los datos que te solicite como queda su arreglo [cada dato en su 'cada celda']...

podrias exponer [+/- exactamente] 'como' y donde es que quedarian los registros 'definitivos' [como los] siguientes:
-> RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
-> Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
-> Nod1=0,345,0





me he perdido [o no has expuesto] como queda 'arreglado' finalmente la linea con el...
-> Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)




???? o sea:

a) en que celda se pondria 'Data0' ???
b) como quedaria desglosado -> (-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899) ???
todo este numerio en una sola celda ??? en cual celda ???
haces alguna especie de 'separacion' ????
en donde quedaria 'cada segmento' ??? [RANGOS]

=> te recuerdo que en tu consulta inicial comentabas +/- lo siguiente:
"Por ejemplo, en la linea de texto "dato34", se crea una columna dato con una linea 1234
si se repite "dato" agrega el contenido en otra fila..."
=> lo que hace suponer alguna 'repeticion' de conceptos/titulos/columnas/... [pero... cuales/como/donde/...] ???

saludos,
hector.
Respuesta Responder a este mensaje
#8 Daniel Pozzi
30/03/2007 - 04:11 | Informe spam
Hola Hector, te descolocó el Data0 :), si es asi, queda todo en una celda,
en realidad eso no se usa par nuestro fin...
Creo q tampoco me expreso bien... tratare de explicarme. Con el ejemplo q me
pasaste tengo un recordset q usando CopyFromRecordset se coloca todo su
contenido en la columna A de excel.
Mi pregunta ahora es: puedo leer línea a línea directamente del recordset?
cómo? si puedo hacer esto ya tengo lo demas funcionando.
Por supuesto q si queres ver la planilla estoy usando por privado te la
paso. Ahi te daras cuenta de q se trata. Pero insisto, mi problema ahora es
entender el funcionamiento del recordset, leerlo línea a línea, quizá
filtrarlo...
Disculpa el rollo
Saludos
Daniel


"Héctor Miguel" escribió en el mensaje
news:
hola, Daniel !

En la hoja RGN10 van las columnas Type, Label y Origin0
con estos datos: 0xc00, LA cLARITA, -31.96072,-58.41016
En la hoja RGN40 van las columnas Type, RoadId, RouteParam, Data0, Nod1,
NOd2, Nod3
con estos valores: 0xa, 92, 1,0,0,0,0,0,0,0,0,0,0,0, 0,345,0, 1,341,0,
2,346,0
Esto lo hago perfectamente leyendo linea a linea del txt
pero supongo habra una manera mas rapida de hacerlo.
Pensa q son archivos de mas de 2 Mb...



=> creo que no supe 'darme a entender' :))
de los datos que te solicite como queda su arreglo [cada dato en su
'cada celda']...

podrias exponer [+/- exactamente] 'como' y donde es que quedarian los
registros 'definitivos' [como los] siguientes:
-> RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
->
Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
-> Nod1=0,345,0





me he perdido [o no has expuesto] como queda 'arreglado' finalmente la
linea con el...
->
Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)




???? o sea:

a) en que celda se pondria 'Data0' ???
b) como quedaria desglosado ->
(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899) ???
todo este numerio en una sola celda ??? en cual celda ???
haces alguna especie de 'separacion' ????
en donde quedaria 'cada segmento' ??? [RANGOS]

=> te recuerdo que en tu consulta inicial comentabas +/- lo siguiente:
"Por ejemplo, en la linea de texto "dato34", se crea una columna
dato con una linea 1234
si se repite "dato" agrega el contenido en otra fila..."
=> lo que hace suponer alguna 'repeticion' de
conceptos/titulos/columnas/... [pero... cuales/como/donde/...] ???

saludos,
hector.

Respuesta Responder a este mensaje
#9 Francisco Parrilla
30/03/2007 - 04:32 | Informe spam
Para recorrer el recorset segun lo hayas nombrado

rs.movefirst
do whilre not rs.EOF
debug.print rs(0).value
rs.MOVENEXT
loop

Claro esta que esto es ya teniendo el recordset.

Saludos





"Daniel Pozzi" escribió en el mensaje
news:
Hola Hector, te descolocó el Data0 :), si es asi, queda todo en una celda,
en realidad eso no se usa par nuestro fin...
Creo q tampoco me expreso bien... tratare de explicarme. Con el ejemplo q


me
pasaste tengo un recordset q usando CopyFromRecordset se coloca todo su
contenido en la columna A de excel.
Mi pregunta ahora es: puedo leer línea a línea directamente del recordset?
cómo? si puedo hacer esto ya tengo lo demas funcionando.
Por supuesto q si queres ver la planilla estoy usando por privado te la
paso. Ahi te daras cuenta de q se trata. Pero insisto, mi problema ahora


es
entender el funcionamiento del recordset, leerlo línea a línea, quizá
filtrarlo...
Disculpa el rollo
Saludos
Daniel


"Héctor Miguel" escribió en el mensaje
news:
> hola, Daniel !
>
>> En la hoja RGN10 van las columnas Type, Label y Origin0
>> con estos datos: 0xc00, LA cLARITA, -31.96072,-58.41016
>> En la hoja RGN40 van las columnas Type, RoadId, RouteParam, Data0,


Nod1,
>> NOd2, Nod3
>> con estos valores: 0xa, 92, 1,0,0,0,0,0,0,0,0,0,0,0, 0,345,0, 1,341,0,
>> 2,346,0
>> Esto lo hago perfectamente leyendo linea a linea del txt
>> pero supongo habra una manera mas rapida de hacerlo.
>> Pensa q son archivos de mas de 2 Mb...
>
> => creo que no supe 'darme a entender' :))
> de los datos que te solicite como queda su arreglo [cada dato en su
> 'cada celda']...
>
>>> podrias exponer [+/- exactamente] 'como' y donde es que quedarian los
>>> registros 'definitivos' [como los] siguientes:
>>> -> RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
>>> ->
>>>


Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
>>> -> Nod1=0,345,0
>
> me he perdido [o no has expuesto] como queda 'arreglado' finalmente la
> linea con el...
>>> ->
>>>


Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
> ???? o sea:
>
> a) en que celda se pondria 'Data0' ???
> b) como quedaria desglosado ->
> (-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899) ???
> todo este numerio en una sola celda ??? en cual celda ???
> haces alguna especie de 'separacion' ????
> en donde quedaria 'cada segmento' ??? [RANGOS]
>
> => te recuerdo que en tu consulta inicial comentabas +/- lo siguiente:
> "Por ejemplo, en la linea de texto "dato34", se crea una columna
> dato con una linea 1234
> si se repite "dato" agrega el contenido en otra fila..."
> => lo que hace suponer alguna 'repeticion' de
> conceptos/titulos/columnas/... [pero... cuales/como/donde/...] ???
>
> saludos,
> hector.
>


Respuesta Responder a este mensaje
#10 Daniel Pozzi
30/03/2007 - 05:01 | Informe spam
bien, bien, ahi vamos!
asi puedo operar directamente desde el recordset! seguro es mucho mas rápido
Gracias!



"Francisco Parrilla" escribió en el mensaje
news:
Para recorrer el recorset segun lo hayas nombrado

rs.movefirst
do whilre not rs.EOF
debug.print rs(0).value
rs.MOVENEXT
loop

Claro esta que esto es ya teniendo el recordset.

Saludos





"Daniel Pozzi" escribió en el mensaje
news:
Hola Hector, te descolocó el Data0 :), si es asi, queda todo en una
celda,
en realidad eso no se usa par nuestro fin...
Creo q tampoco me expreso bien... tratare de explicarme. Con el ejemplo q


me
pasaste tengo un recordset q usando CopyFromRecordset se coloca todo su
contenido en la columna A de excel.
Mi pregunta ahora es: puedo leer línea a línea directamente del
recordset?
cómo? si puedo hacer esto ya tengo lo demas funcionando.
Por supuesto q si queres ver la planilla estoy usando por privado te la
paso. Ahi te daras cuenta de q se trata. Pero insisto, mi problema ahora


es
entender el funcionamiento del recordset, leerlo línea a línea, quizá
filtrarlo...
Disculpa el rollo
Saludos
Daniel


"Héctor Miguel" escribió en el mensaje
news:
> hola, Daniel !
>
>> En la hoja RGN10 van las columnas Type, Label y Origin0
>> con estos datos: 0xc00, LA cLARITA, -31.96072,-58.41016
>> En la hoja RGN40 van las columnas Type, RoadId, RouteParam, Data0,


Nod1,
>> NOd2, Nod3
>> con estos valores: 0xa, 92, 1,0,0,0,0,0,0,0,0,0,0,0, 0,345,0, 1,341,0,
>> 2,346,0
>> Esto lo hago perfectamente leyendo linea a linea del txt
>> pero supongo habra una manera mas rapida de hacerlo.
>> Pensa q son archivos de mas de 2 Mb...
>
> => creo que no supe 'darme a entender' :))
> de los datos que te solicite como queda su arreglo [cada dato en su
> 'cada celda']...
>
>>> podrias exponer [+/- exactamente] 'como' y donde es que quedarian los
>>> registros 'definitivos' [como los] siguientes:
>>> -> RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
>>> ->
>>>


Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
>>> -> Nod1=0,345,0
>
> me he perdido [o no has expuesto] como queda 'arreglado' finalmente la
> linea con el...
>>> ->
>>>


Data0=(-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899)
> ???? o sea:
>
> a) en que celda se pondria 'Data0' ???
> b) como quedaria desglosado ->
> (-31.94201,-58.41580),(-31.96227,-58.40879),(-31.96578,-58.37899) ???
> todo este numerio en una sola celda ??? en cual celda ???
> haces alguna especie de 'separacion' ????
> en donde quedaria 'cada segmento' ??? [RANGOS]
>
> => te recuerdo que en tu consulta inicial comentabas +/- lo siguiente:
> "Por ejemplo, en la linea de texto "dato34", se crea una columna
> dato con una linea 1234
> si se repite "dato" agrega el contenido en otra fila..."
> => lo que hace suponer alguna 'repeticion' de
> conceptos/titulos/columnas/... [pero... cuales/como/donde/...] ???
>
> saludos,
> hector.
>






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida