python实现npy格式文件转换为txt文件操作
作者:nes-c
如下代码会将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]) # (39, 2) input_data = np.load(datapath) # (39, 2) data = input_data.reshape(1, -1) np.savetxt('%s/%s.txt'%(txtpath,namelist[i]),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文件,是这样的,根本看不了内容
解决方法:编写如下代码,使解码后的文件内容输出在控制台
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文件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。