我有k列數字的文件(每列有相同數量的元素)。什麼是最快的方式來讀取它並將數字保存在單獨的numpy.array中的每列中?從Python格式化文件中讀取數字
回答
嘗試使用genfromtxt
。
這有利於您可以指定列名稱,如果您喜歡,甚至可以讀入recarray
。
我做了一個文件 'TMP':
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
從numpy的
然後:
import numpy as np
data = np.genfromtxt('tmp')
#array([[ 1., 2., 3., 4., 5.],
# [ 6., 7., 8., 9., 10.],
# [ 11., 12., 13., 14., 15.]])
如果你看看help(np.genfromtxt)
你會看到有各種選項,如指定自定義dtype
S(所以如果需要可以重新陣列),設置缺失值的選項,讀取列名等。
假設你知道列的數量,是否可以將列存儲到單獨的變量中? – Bob 2012-02-16 05:15:05
>>> import numpy as np
>>> a = np.loadtxt('yourfile.txt')
>>> print a
[[ 1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10.]
[ 11. 12. 13. 14. 15.]]
>>> columns = dict(enumerate(a.T))
>>> columns[0]
array([ 1., 6., 11.])
>>> columns[1]
array([ 2., 7., 12.])
請注意,您也可以簡單地使用'columns = a.T',因爲無論如何numpy數組都是行主要可迭代的。 – wim 2012-02-16 05:32:23
open()返回一個文件對象,最常用於兩個參數:open(filename,mode)。
F =開放( '/ TMP /工作文件', 'W') 打印˚F
第一個參數是包含了文件名的字符串。第二個參數是另一個包含幾個字符的字符串,用於描述文件的使用方式。模式可以是'r',只有文件將被讀取,'w'只能寫入(同名的現有文件將被刪除),'a'打開要附加的文件;寫入文件的任何數據都會自動添加到結尾。 'r +'打開文件以讀取和寫入。模式參數是可選的; 'r'將被假定,如果它被省略。
在Windows上,該模式附加的'b'以二進制模式打開文件,因此也有像'rb','wb'和'r + b'這樣的模式。 Windows上的Python區分了文本和二進制文件;數據讀取或寫入時,文本文件中的行尾字符會自動稍微改變。這種對文件數據的後臺修改對於ASCII文本文件來說很好,但它會破壞像JPEG或EXE文件中的二進制數據。在讀寫這些文件時要非常小心地使用二進制模式。在Unix上,向模式附加'b'並不會造成什麼影響,所以您可以在所有二進制文件中獨立使用它。
- 1. 從文本文件中讀取格式化數據C
- 2. 從文本文件中讀取格式化的數據
- 3. 從文本文件中讀取時的數字格式異常
- 4. Python中,讀/從文件格式
- 5. 使用python中的read()讀取預格式化的文件
- 6. 在Python中讀取直接訪問fortran未格式化文件
- 7. 從文件中讀取格式字符串到數組用C
- 8. Python讀取非標準數字格式
- 9. 用Python讀取FORTRAN格式的數字
- 10. python的JTIP文件格式讀取器
- 11. 從java中讀取未格式化數據的套接字
- 12. 如何從文本文件中讀取格式化的字符串?
- 13. 從Python中讀取文件
- 14. Python從文件中讀取
- 15. 從XML文件讀取數據到平面文件(txt)和格式化數據
- 16. C++使用BOOST/STL/etc從文件中讀取格式化表格數據
- 17. Python - 讀取沒有格式化列的txt文件
- 18. Python - 從文件中讀取數據
- 19. python從文件中讀取數據
- 20. Matlab:從.csv文件讀取字符串格式的文件名
- 21. 數字格式從文本文件中讀取數據的異常結果
- 22. 使用模板化函數從CSV文件中讀取數字
- 23. 從文本文件中讀取數字python
- 24. 讀取格式化文本文件到一個數組
- 25. 從文本文件中讀取數字並分隔空格
- 26. 使用python從二進制文件中讀取數字數據
- 27. Python從數組中的文件讀取科學數字
- 28. 從波形文件python讀取字節
- 29. LISP:格式化讀線的輸出,而從文件中讀取遊戲板
- 30. 從java文件中讀取數字
嗨鮑勃,這功課嗎?如果可以,請將其標記爲這樣?另外,是否有任何源代碼可以向我們展示,以幫助我們理解自己嘗試了多少?您能否向我們展示您正在嘗試閱讀的文件樣本? – blahman 2012-02-16 05:18:17