2016-04-25 3 views
-1

Ich bin ein neuer Python-Programmierer, und ich brauche etwas Hilfe bei dieser Aufgabe.wie in N-Arrays in einer Schleife Iterieren python

Ich habe n-Arrays wie:

t0=array([]) 
t1=array([]) 
... 
tn=array([]) 

Ich will n-txt-Dateien laden, und oben definierte eine der Spalten in diesen Dateien in die tn-Arrays speichern. Durch den großen Wert von n, ich möchte etwas tun:

### deternime the number of files to use 
n=1000 

### create the tn empty arrays 
for i in range(n): 
    time ="t"+str(i) + " = []" 
    exec(time) 

### load the .aei files, and save the column 0, into the tn corresponding 
### array 

for i in range(n): 
    l = np.loadtxt('ast%i' % i +'.aei', skiprows=4, usecols=(0,4,5)).T 
    t'%i' %i=append(t'%i' %i,l[0]) 

So möchte ich sparen an:

in t0 Array 0 die Spalte von ast0.aei extrahiert

in t1 Array die Spalte 0 von ast1.aei extrahiert

in Array t2 0 die Säule aus ast2.aei

extrahiert

... und so weiter

Im zweiten for-Schleife ist die Linie, die ich weiß nicht, wie es zu tun und funktioniert nicht:

t'%i' %i=append(t'%i' %i,l[0]) 

Vielen Dank für jede Hilfe und Anregungen!

Hinweis: meine falies als ast0.aei genannt, ast1.aei, ..., astn.aei

+0

Wollen Sie wirklich n separate Arrays? Vielleicht ist es einfacher, die Ergebnisse in eine Liste zu stellen? – Forzaa

+0

Hallo Forzaa, ja, ich möchte n separate Arrays. Vielen Dank! – Mileva

+0

Nun, meiner Meinung nach wäre es einfacher, die Arrays in eine Liste zu setzen. Sie können einfach 't [0]' wählen, um das Array '0' zu erhalten, anstatt' t0' zu schreiben. Dies ist auch viel bequemer, wenn Sie die Arrays durchlaufen möchten. – Forzaa

Antwort

0

Vielleicht können Sie eine Liste von Arrays erstellen. So etwas könnte funktionieren

t = [] 
for i in range(n): 
    l = np.loadtxt('ast%i' % i +'.aei', skiprows=4, usecols=(0,4,5)).T 
    t += [l] 
Verwandte Themen