2017-06-21 69 views
0

對不起,我知道這應該很容易。我想加載6個文本文件並將它們分配給6個變量,例如file1到xl,文件2到xr等。我不認爲我理解如何正確處理列表。我曾嘗試在範圍內使用for(6),itertools和枚舉,但似乎沒有做我想要的。導入並分配多個文件loadtxt

files = ['f1.txt','f2.txt','f3.txt','f4.txt','f5.txt','f6.txt'] 

for file in files: 
    xl,xr,yl,yr,zl,zr = np.loadtxt(file) 

我想我可以使用附加功能,但是這創造了一個,而不是6個變量,我認爲

+0

'for file in files'循環每次迭代都會返回'files'-list的一個元素,所以你可以用'np.loadtxt(file)'的(unpacked)輸出覆蓋所有這些變量。你真的需要6個不同的變量嗎?爲什麼不使用'list',就像你已經在使用文件名一樣? –

回答

1

,你可以打開所有的文件,並存儲與列表理解的結果:

files = ['f1.txt','f2.txt','f3.txt','f4.txt','f5.txt','f6.txt'] 
loaded = [np.loadtxt(file) for file in files] 

您會有與loaded[0]等來訪問它們......或者直接分配:

xl, xr, yl, yr, zl, zr = [np.loadtxt(file) for file in files] 

如果你堅持原始的變量名稱。

+1

現在它只是一個列表理解,或者我錯過了什麼? –

+1

@ChristianKönig不,你不會錯過anythig - 你發現了一個邪惡的錯字......謝謝! –

+0

謝謝。現在有道理,爲什麼原來沒有工作。現在看起來很容易我已經看到了答案... :-) –