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!
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!