Hola,
El 05/06/2014, a las 14:42, Jose M.Allegue <[email protected]> escribió:
> Buenas tardes.
>
> Estoy intentando manejar un archivo de datos pero no se como hacerlo.
> Se trata de un archivo de texto (.txt) con información en lineas.
>
> Parte de el es como sigue:
>
>
> Deployment Time: 26/04/2014 1:50:00
> Transit Speed (knots): 120,00
> Range (NM): 0,00
> Total Endurance: 2 hrs 0 mins
> Distance to Search Area (NM): 62,076
> Time to reach Search Area: 31 mins
> Search Speed (knots): 120,00
> On-Scene Endurance: 49 mins
> SRU Coverage Area (NM):83,893
> Track Spacing (NM): 1,00
> Pattern Type: Parallel
> Leg Length (NM): 10,9847
> Angle: 90,00
> First Turn: Right
> Commence Search Course: 0,00
> Probability of Detection (POD): 100,00 %
> Probability of Containment (POC): 100,00 %
> Probability of Success (POS): 100,00 %
>
>
> xxx Coverage Area (NM):83,893
> E 37 3.49 N, 1 13.65 W
> F 37 15.47 N, 1 13.65 W (11,9847 NM)
> G 37 15.47 N, 1 4.87 W (6,9907 NM)
> H 37 3.49 N, 1 4.87 W (11,9847 NM)
>
> las lineas E F G H son posiciones que tengo que tratar, de manera que ahora
> son string pero las tengo que pasar a int o float, para realizar ciertas
> operaciones con ellas Eso ya lo tengo resuelto, pero la pregunta es;
> ¿ lo trato como una lista o como un string completo ? ¿ quizás como un csv ?
Por lo que veo tienes 4 puntos delimitando un área de búsqueda de unas 84
millas náuticas cuadradas al sur de Cartagena :)
>
> Como abordar este problema ?
Creo que este caso se presta a usar expresiones regulares.
Suponiendo que has abierto el fichero para lectura con nombre f se puede hacer
algo así:
for line in f.readlines():
alt = re.findall("(?<= )(\d{1,2}) (\d{1,2}\.\d{1,2}) ([NS]),\s+(\d{1,2})
(\d{1,2}\.\d{1,2}) ([EW]).*", line)
if len(alt) != 0:
lat = float(alt[0][0])+float(alt[0][1])/60.
if alt[0][2] == 'S':
lat *= -1
lon = float(alt[0][3])+float(alt[0][4])/60.
if alt[0][5] == 'W':
lon *= -1
print lat, lon
Puedes ir añadiendo las coordenadas a una lista para después trabajar con ellas.
Un saludo.
>
> Gracias
> --
> jose m allegue
>
> [email protected]
>
> _______________________________________________
> Python-es mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/