Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - jairoes

#1
Scripting / Re: (python) como ordenar matriz?
7 Enero 2017, 21:19 PM
Hola, gracias por tu respuesta. Mi problema es intentar asignar o leer la matriz asignando los valores de mis lineas a las distintas posiciones de la matriz. He intentado utilizar la estructura de este foro:

def leer_lineas():
   _file = open('salida_puntos.txt', 'r')
   data = _file.read().split('\n')
   _file.close()
   return data

columnas = 8

def crear_matriz(numLineas, columnas):
   matriz = []
   for i in range(numLineas):
      matriz.append([0] * columnas)

matriz = crear_matriz(numLineas, columnas)
fila = 0
for columna in leer_lineas():
    if columna:
        valores = columna.split(' ')
        des1 = valores[0]
        coord_x = valores[1]
        coord_y = valores[2]
        coord_z = valores[3]
        des2 = valores[4]
        des3 = valores[5]
        des4 = valores[6]
        des5 = valores[7]
        matriz[fila][0] = des1
        matriz[fila][1] = coord_x
        matriz[fila][2] = coord_y
        matriz[fila][3] = coord_z
        matriz[fila][4] = des2
        matriz[fila][5] = des3
        matriz[fila][6] = des4
        matriz[fila][7] = des5
        fila += 1

Pero me da el siguiente error:

    matriz[fila][0] = des1

TypeError: 'NoneType' object is not subscriptable

Cada una de las lineas de mi fihero de texto tiene información como la siguiente:

'prescribed_point 1069.2370605469 -980.5009765625 7836.5126953125 family POINTS name TMP_TOPO_PART_NAME.2534'

Lo que yo quiero poder ordenar todas las filas en función de la coordenada de la cuarta columna que es la coordenada z de una serie de puntos.

Gracias de nuevo!
#2
Scripting / Re: (python) como ordenar matriz?
6 Enero 2017, 13:58 PM
Hola, soy nuevo con Python. He empezado a ver unos videos tutoriales pero estoy muy verde y tengo que intentar solucionar un problema.
De momento tengo un script que extrae una serie de lineas de un fichero y las pone en otro. Ahora quiero ordenar las lineas en función de los valores de una de las columnas. En total son 596 lineas y ocho columnas separadas por espacios.
Por lo que he visto en este foro hay que crear una matriz y luego ordenarla pero no tengo muy claro como hacerlo. Alguien me podría ayudar por favor
Gracias a todos!