Esta es la respuesta más acertada que encomtrarás aportar, sin embargo mírala pausadamente y analiza si se adapta a tu proyecto.
f=open(file,"r")
lines=f.readlines()
result=[]
for x in lines:
result.append(x.split(' ')[1])
f.close()
Puedes hacer lo mismo usando una lista de comprensión.
print([x.split(' ')[1] for x in open(file).readlines()])
Documentos en split()
string.split(s[, sep[, maxsplit]])
Devolver una lista de las palabras del string
s
. Si el segundo argumento opcional sep está ausente o es Ninguno, las palabras se separan mediante cadenas arbitrarias de caracteres de espacio en blanco (espacio, tabulador, nueva línea, retorno, salto de página). Si el segundo argumento sep está presente y no es Ninguno, especifica un string para ser utilizado como el separador de palabras. La lista devuelta tendrá entonces un elemento más que el número de ocurrencias no superpuestas del separador en el string.
Entonces, puedes omitir el espacio que usé y hacer solo x.split()
pero esto también eliminará las pestañas y las líneas nuevas, tenga en cuenta eso.
Tiene un archivo delimitado por espacios, así que use el módulo diseñado para leer archivos de valores delimitados, csv
.
import csv
with open('path/to/file.txt') as inf:
reader = csv.reader(inf, delimiter=" ")
second_col = list(zip(*reader))[1]
# In Python2, you can omit the `list(...)` cast
los zip(*iterable)
El patrón es útil para convertir filas en columnas o viceversa. Si está leyendo un archivo por filas…
>>> testdata = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
>>> for line in testdata:
... print(line)
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
…pero necesita columnas, puede pasar cada fila al zip
función
>>> testdata_columns = zip(*testdata)
# this is equivalent to zip([1,2,3], [4,5,6], [7,8,9])
>>> for line in testdata_columns:
... print(line)
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
Sé que esta es una vieja pregunta, pero nadie mencionó que cuando sus datos parecen un arrayel loadtxt de numpy es útil:
>>> import numpy as np
>>> np.loadtxt("myfile.txt")[:, 1]
array([10., 20., 30., 40., 23., 13.])
Si piensas que ha sido de provecho este artículo, te agradeceríamos que lo compartas con el resto desarrolladores y nos ayudes a extender esta información.