讀取 CSV 檔案
可用的三個主要功能(手冊頁中的描述):
fromfile
- 一種使用已知資料型別讀取二進位制資料的高效方法,以及解析簡單格式化的文字檔案。使用 tofile 方法寫入的資料可以使用此函式讀取。
genfromtxt
- 從文字檔案載入資料,並按指定處理缺失值。超過第一個 skip_header 行的每一行將以分隔符分割,並且將丟棄註釋字元後面的字元。
loadtxt
- 從文字檔案載入資料。文字檔案中的每一行必須具有相同數量的值。
genfromtxt
是 loadtxt
的包裝函式。genfromtxt
是最直接使用的,因為它有許多引數來處理輸入檔案。
給定一個輸入檔案,myfile.csv
的內容為:
#descriptive text line to skip
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('path/to/myfile.csv',delimiter=',',skiprows=1)
給出一個陣列:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
1 2.0000 buckle_my_shoe
3 4.0000 margery_door
import numpy as np
np.genfromtxt('filename', dtype= None)
array([(1, 2.0, 'buckle_my_shoe'), (3, 4.0, 'margery_door')],
dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', '|S14')])
注意 dtype=None
的使用導致重新排列。
列數不一致:
file:1 2 3 4 5 6 7 8 9 10 11 22 13 14 15 16 17 18 19 20 21 22 23 24
result=np.fromfile(path_to_file,dtype=float,sep="\t",count=-1)