1. 程式人生 > 程式設計 >python實現npy格式檔案轉換為txt檔案操作

python實現npy格式檔案轉換為txt檔案操作

如下程式碼會將npy的格式資料讀出,並且輸出來到控制檯:

import numpy as np
 
##設定全部資料,不輸出省略號 
import sys
np.set_printoptions(threshold=sys.maxsize)
 
boxes=np.load('./input_output/boxes.npy')
print(boxes)
np.savetxt('./input_output/boxes.txt',boxes,fmt='%s',newline='\n')
print('---------------------boxes--------------------------')

如下程式碼實現npy格式檔案轉換為txt,並且儲存到當前目錄相同檔名

實現轉換整個資料夾下面多個檔案:

import os
import numpy as np
path='./input_output' #一個資料夾下多個npy檔案,
txtpath='./input_output'
namelist=[x for x in os.listdir(path)]
for i in range( len(namelist) ):
 datapath=os.path.join(path,namelist[i]) #specific address
 print(namelist[i])
 data = np.load(datapath).reshape([-1,2]) # (39,2)
 np.savetxt('%s/%s.txt'%(txtpath,namelist[i]),data)
print ('over')
import os
import numpy as np
path='./input_output' #一個資料夾下多個npy檔案
txtpath='./input_output'
namelist=[x for x in os.listdir(path)]
for i in range( len(namelist) ):
 datapath=os.path.join(path,namelist[i]) #specific address
 print(namelist[i])
 #data = np.load(datapath).reshape([-1,2)
 input_data = np.load(datapath) # (39,2)
 data = input_data.reshape(1,-1)
 np.savetxt('%s/%s.txt'%(txtpath,data)
print ('over')

同樣的程式碼,實現讀取單個npy檔案,讀取並且儲存為txt :

import numpy as np
input_data = np.load(r"C:\test.npy")
print(input_data.shape)
data = input_data.reshape(1,-1)
print(data.shape)
print(data)
np.savetxt(r"C:\test.txt",data,delimiter=',')

修改pycharm的控制檯的buffer大小:

如果你是用pycharm作為Python的編輯器,那麼控制檯的buf預設為1024,如果輸出資料太多,需要修改buff大小才能讓

全部資料輸出,修改方法:

找到 pycharm 安裝目錄的 bin 目錄下 idea.properties 檔案, 修改 idea.cycle.buffer 值,原來預設為 1024

#--------------------------------------------------------------------- # This option controls console cyclic buffer: keeps the console output size not higher than the specified buffer size (Kb). # Older lines are deleted. In order to disable cycle buffer use idea.cycle.buffer.size=disabled #--------------------------------------------------------------------- idea.cycle.buffer.size=102400

補充知識:讀取npy格式的檔案

npy檔案儲存的是網路的權重

問題:Ubuntu環境下用gedit開啟npy檔案,是這樣的,根本看不了內容

python實現npy格式檔案轉換為txt檔案操作

解決方法:編寫如下程式碼,使解碼後的檔案內容輸出在控制檯

import numpy as np
context = np.load('E:/KittiSeg_pretrained0/vgg16.npy',encoding="latin1")
print(context)

檔案位置依據自己的存放位置進行修改

執行程式碼輸出結果為

{'conv1_2': [array([[[[ 1.66219279e-01,1.42701820e-01,-4.02113283e-03,...,6.18828237e-02,-1.74057148e-02,-3.00644431e-02],[ 9.46945231e-03,3.87477316e-03,5.08365929e-02,-2.77981739e-02,1.71373668e-03,6.82722731e-03],[ 6.32681847e-02,2.12877709e-02,-1.63465310e-02,8.80054955e-04,6.68104272e-03,-1.41139806e-03],[ 3.47490981e-03,8.47019628e-02,-4.07223180e-02,-1.13523193e-02,-7.48998486e-03,3.19077494e-03],[ 5.97234145e-02,4.97663505e-02,-3.23118735e-03,1.43114366e-02,3.03175431e-02,-4.23925705e-02],[ 1.33459672e-01,4.95484173e-02,-1.78808011e-02,2.25385167e-02,3.02020740e-02,-2.17075031e-02]],[[ 2.12007999e-01,2.10127644e-02,-1.47626130e-02,2.29580477e-02,1.23102348e-02,-3.08422819e-02],[-2.62175221e-03,7.42094172e-03,6.74030930e-02,-3.06594316e-02,1.80578313e-03,4.27369215e-03],[ 2.27197763e-02,-1.07841045e-02,-1.31095545e-02,-1.15751950e-02,4.18359675e-02,-1.92268589e-03],[-2.70304317e-03,7.41161704e-02,-3.32262330e-02,-1.10277236e-02,1.39831286e-02,5.34419343e-03],[-3.20506282e-02,-2.40584910e-02,-4.52397857e-03,-6.04042644e-03,2.01962605e-01,-5.04491515e-02],[ 1.68114193e-02,-2.33167298e-02,-1.40886130e-02,-7.79278344e-03,1.28428593e-01,-2.58184522e-02]],[[-5.91698708e-03,-2.26223674e-02,4.88128467e-03,4.13784146e-04,-4.84175496e-02,1.63675251e-03],[-3.93767562e-03,9.07397643e-03,5.36517277e-02,-2.56106984e-02,-4.17886395e-03,2.47476017e-03],[-3.07008922e-02,-1.09781921e-02,-3.69096454e-03,-1.19221993e-02,-1.39777903e-02,8.52933805e-03],..........................................

以上這篇python實現npy格式檔案轉換為txt檔案操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。