1. 程式人生 > >Python 學習筆記之 Numpy 庫——文件操作

Python 學習筆記之 Numpy 庫——文件操作

term ray bin org float blog 讀取 pre ted

1. 讀寫 txt 文件

a = list(range(0, 100))
a = np.array(a) # a.dtype = np.int64
np.savetxt("filename.txt", a) 
b = np.loadtxt("filename.txt") # b.dtype = np.float64
  • savetxt 默認保存為 float64 格式的,註意保存和讀取時 dtype 要一致,否則讀出的數據可能會亂碼。
    numpy.loadtxt
    numpy.savetxt

    2. 讀寫二進制 bin 文件

a = list(range(0, 100))
a = np.array(a) # a.dtype = np.int64
a.tofile("filename.bin", a) 
b = np.fromfile("filename.bin") # b.dtype = np.int64
  • tofile 保存格式和數組的數據格式一致,註意保存和讀取時 dtype 要一致,否則讀出的數據可能會亂碼。
    numpy.ndarray.tofile
    numpy.fromfile

    3. 讀寫 Numpy 特有 npy 格式文件

a = list(range(0, 100))
a = np.array(a) # a.dtype = np.int64
np.save("filename.npy", a) 
b = np.load("filename.npy") # b.dtype = np.int64
  • save 保存格式和數組的數據格式一致,註意保存和讀取時 dtype 要一致,否則讀出的數據可能會亂碼。
    numpy.save
    numpy.load

4. 讀寫字符串文件


file.txt

123 456
aaa
bbb
ccc
ddd

a = np.genfromtxt(‘file.txt‘, dtype=‘str‘, skip_header=1)
  • 跳過開頭第一行,以字符串讀取文件,a = array([‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘], dtype=‘<U3‘)

file.txt

123  aaa
456 bbb
789 ccc

a = np.genfromtxt(‘file.txt‘, dtype=None)
a[0][0] = 123 # <class ‘numpy.int64‘>
a[0][0] = b‘aaa‘ # <class ‘numpy.bytes_‘>
a[0][0].decode() = ‘aaa‘ # <class ‘str‘>
  • 讀取具有不同數據類型的文件
    numpy.genfromtxt

獲取更多精彩,請關註「seniusen」!
技術分享圖片

Python 學習筆記之 Numpy 庫——文件操作