Python - Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

 
Vista:
Imágen de perfil de Marco
Val: 37
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por Marco (12 intervenciones) el 08/09/2020 19:32:27
Necesito ordenar los valores de las energías de menor a mayor y copiar cada energía con sus coordenadas en un archivo txt
Energy = -8826.815340
C -1.386764 -6.526846 -3.193044
C -1.972739 -5.771052 -4.277302
C -1.422146 -6.852567 -0.713481
Energy = -826.815340
C -1.366764 -6.576846 -3.193084
C -1.472739 -5.471052 -4.247302
Energy = -8826.799580
C 3.525758 -1.140847 5.474353
C 3.470704 -2.512817 5.021722
C 2.159091 0.721635 6.432979
C 2.557953 -0.661392 6.424853
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 2.721
Oro
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por joel (617 intervenciones) el 08/09/2020 20:56:23
Hola Marco, no me queda claro lo que quieres hacer... que resultado esperas de esos valores?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marco
Val: 37
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por Marco (12 intervenciones) el 08/09/2020 21:07:29
En el archivo adjunto tengo valores de diferentes energías junto con su lista de coordenadas por ejemplo: Energy:-8020.123455 y abajo se encuentran sus coordenadas x y z, lo que debo hacer es comparar todos los valores de las diferentes energías y ordenarlos de menor a mayor, después hacer que las 3 energías de menor valor se exporten en diferentes archivos de texto (cada energía con sus coordenadas)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.721
Oro
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por joel (617 intervenciones) el 09/09/2020 08:01:11
Marco, segun entiendo, de este archivo que me has dado el resultado que esperas es este?

Energy = -8826.860560
Energy = -8826.826560
Energy = -8826.815340
Energy = -8826.693930
Energy = -8822.869490
Energy = -826.799580
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marco
Val: 37
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por Marco (12 intervenciones) el 09/09/2020 14:59:16
Si exacto después guardar en este caso las 3 energy mas bajas junto con sus coordenadas en diferentes archivos de texto .txt, al final del archivo adjunto se ve como deben de quedar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.721
Oro
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por joel (617 intervenciones) el 09/09/2020 16:26:49
Hola marco, aquí tienes como obtener los 3 elementos mas bajos:

1
2
3
4
with open("resultados.txt", "r") as c:
    energy=[float(i[8:].strip()) for i in c.readlines() if i[0:6]=="Energy"][:3]
    energy.sort()
print (energy)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Marco
Val: 37
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por Marco (12 intervenciones) el 09/09/2020 17:36:07
Genial, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.721
Oro
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por joel (617 intervenciones) el 11/09/2020 21:57:07
Hola Marco, aquí lo tienes capturando todas las lineas que coinciden con los valores devueltos.

Espero que te sirva
1
2
3
4
5
6
7
8
9
10
11
12
13
14
with open("resultados.txt", "r") as c:
    energy=[float(i[8:].strip()) for i in c.readlines() if i[0:6]=="Energy"][:3]
    energy.sort()
# buscamos los valores
result=[]
capturando=False
with open("resultados.txt", "r") as c:
    for i in c.readlines():
        if i[0:6]=="Energy":
            capturando=True if float(i[8:].strip()) in energy else False
        if capturando:
            result.append(i)
 
print(result)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Marco
Val: 37
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Buscar y ordenar números flotantes negativos dentro de un archivo txt de mas de 50000 lineas

Publicado por Marco (12 intervenciones) el 13/09/2020 17:06:50
Muchas gracias por tu ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar