Tente:
import numpy
def loadfile(filename, i):
return numpy.loadtxt(filename, usecols=(i,))
Como exemplo, considere este arquivo:
$ cat nums.txt
1 2 3
4 5 6
7 8 9
Em seguida, observe loadfile
com sucesso em uma coluna:
>>> loadfile('nums.txt', 2)
array([ 3., 6., 9.])
Notas
-
A linha
def
de uma definição de função deve terminar com:
. -
Os argumentos para uma função precisam ser variáveis, como
filename
, e não sequências de caracteres fixas como'filename.py'
. -
Isso será executado, mas não faz o que você deseja:
def loadfile(x, i): f = numpy.loadtxt('x', i) return(f)
O texto acima assume
x
como um argumento, mas depois o ignora e tenta carregar um nome de arquivo cujo nome é o único caracterex
. -
Isso não funcionará:
def loadfile(filename.py, i): f = numpy.loadtxt('filename.py', usecols=(i)) return(f)
filename.py
não é um nome válido para uma variável simples. Mesmo se fosse, o código não tenta usar esse nome de variável. Em vez disso, ele tenta carregar um arquivo cujo nome é a string de caracteresfilename.py
.