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

#1 Héctor Miguel
29/03/2007 - 01:36 | Informe spam
hola, Daniel !

... estoy usando excel para procesar un archivo txt.
Con line input voy analizando linea a linea del txt y segun 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 rapido?



[p.e.] -> Import data from a text file (ADO)
http://www.erlandsendata.no/english...portadotxt

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Daniel Pozzi
29/03/2007 - 23:22 | Informe spam
Gracias Hector, lo estoy estudiando... a ver si entiendo, usando recordset
traigo en un suspiro el txt a una columna de excel. Ahora, lo q necesito es
procesar linea linea el txt y según lo q haya en ellas armar columnas y
poner los datos. Puedo meter en lugar de una columna de excel en una
variable todo el txt usando recordset y proceso desde la variable? O hay
alguna manera de leer el recordset y procesar directamente desde alli? o
proceso desde esa columna de excel q me armo el ejemplo q me mandaste? Cual
es la opción mas rápida?
Gracias!!

Daniel


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

... estoy usando excel para procesar un archivo txt.
Con line input voy analizando linea a linea del txt y segun 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 rapido?



[p.e.] -> Import data from a text file (ADO)
http://www.erlandsendata.no/english...portadotxt

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

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

... a ver si entiendo, usando recordset traigo en un suspiro el txt a una columna de excel.
Ahora, lo q necesito es procesar linea linea el txt y segun lo q haya en ellas armar columnas y poner los datos.
Puedo meter en lugar de una columna de excel en una variable todo el txt usando recordset y proceso desde la variable?
O hay alguna manera de leer el recordset y procesar directamente desde alli?
o proceso desde esa columna de excel q me armo el ejemplo q me mandaste?
Cual es la opcion mas rapida?



la rapidez [seguramente] va a depender de 'como' sea la 'estructura' del archivo .txt -?- [p.e.]
- si son simples/... lineas continuas [probablemente] sera mejor usar autofiltros/filtros avanzados despues de vaciar el recordset -?-
- si existe algun 'tipo' de estructura [valores separados por tabular, coma, espacio, ...] podrias hacer una consulta 'directa' en el SQL -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Daniel Pozzi
30/03/2007 - 00:49 | Informe spam
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
rápido, son muchas líneas de texto... y cómo mis conocimientos son muy
limitados, trato de ver por q lado debo encararlo y ponerme a estudiar sobre
eso.
Cuaquier idea, agradecido.
Daniel

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

... a ver si entiendo, usando recordset traigo en un suspiro el txt a una
columna de excel.
Ahora, lo q necesito es procesar linea linea el txt y segun lo q haya en
ellas armar columnas y poner los datos.
Puedo meter en lugar de una columna de excel en una variable todo el txt
usando recordset y proceso desde la variable?
O hay alguna manera de leer el recordset y procesar directamente desde
alli?
o proceso desde esa columna de excel q me armo el ejemplo q me mandaste?
Cual es la opcion mas rapida?



la rapidez [seguramente] va a depender de 'como' sea la 'estructura' del
archivo .txt -?- [p.e.]
- si son simples/... lineas continuas [probablemente] sera mejor usar
autofiltros/filtros avanzados despues de vaciar el recordset -?-
- si existe algun 'tipo' de estructura [valores separados por tabular,
coma, espacio, ...] podrias hacer una consulta 'directa' en el SQL -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#5 Héctor Miguel
30/03/2007 - 02:28 | Informe spam
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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida