Python - Guardar en tupla "simple" datos de un vector columna contenido en .txt

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar en tupla "simple" datos de un vector columna contenido en .txt

Publicado por Diego (4 intervenciones) el 12/08/2019 19:02:43
Buenas tardes,

Estoy embarcado en un pequeño proyecto con Python. El caso es que llevo un par de días atascado con la siguiente cuestión:

Tengo un archivo de texto(.txt) con los siguientes datos:

101

102

206

205

211

201

3011

3018

3008


Estoy intentando leer estos números como enteros y almacenarlos en una tupla, con el objetivo de poder usar esos datos más adelante de un modo más sencillo. Mi objetivo es que queden tal que así:

[101, 102, 206, 205 ...]

Lo más lejos que he llegado, y es basado en la pregunta de otro usuario de un foro distinto (dejo link: http://www.forosdelweb.com/f130/leer-matriz-txt-i-guardalra-lista-listas-1040619/)

Es lo siguiente:

1
2
3
4
5
6
7
matriz = []
archivo = open("Lista_generadores.txt","r")
for linea in archivo:
    matriz.append(linea.strip().split())
archivo.close()
 
print matriz

Pero me devuelve como resultado:
[['101'], [], ['102'], [], ['206'], [], ['205'], [], ['211'], [], ['201'], [], ['3011'], [], ['3018'], [], ['3008'], []]

Que obviamente no se parece en nada a lo que busco. Para empezar tengo muchas tuplas dentro de una, luego los elementos de cada tupla son str y no int (que es lo que quiero para poder trabajar con ellos) y además me aparecen algunas tuplas vacías que no tengo ni idea de por qué aparecen ya que el .txt no debe tener espacios tras cada número, sino un salto de línea.

Un dato importante, la versión de python que uso es la 2.7.13, y no tengo posibilidades de cambiarla puesto que en un futuro necesitaré que interaccione con otro programa más antiguo que solo se comunica con esta versión de Python (es un poco lío).

Gracias de antemano
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
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar en tupla "simple" datos de un vector columna contenido en .txt

Publicado por Diego (4 intervenciones) el 13/08/2019 19:54:37
Ya lo he resuelto, probablemente se pueda hacer en menos líneas pero yo lo resolví así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
matriz = []
archivo = open("...","r")
for linea in archivo.readlines():
        partes_linea = linea.split()
        if partes_linea == []:
        	continue
        matriz.append([ int(i) for i in partes_linea ])
 
archivo.close()
 
lista_generadores=[]
 
for i in range(len(matriz)):
	lista_generadores.append(matriz[i][0])
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Guardar en tupla "simple" datos de un vector columna contenido en .txt

Publicado por tincopasan (1082 intervenciones) el 13/08/2019 21:48:33
probablemente se podría hacer más corto:
1
2
3
with  open ('numeros.txt') as mensaje:
    mensaje = [int(numero) for numero in mensaje.read().split()]
print(mensaje)

dicho sea de paso es una lista no una tupla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar en tupla "simple" datos de un vector columna contenido en .txt

Publicado por Diego (4 intervenciones) el 26/08/2019 10:01:49
Muchas gracias! Y sí, es cierto es una lista, aún me estoy familiarizando con los términos.
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