Python将Numpy数组保存为TXT文件的完整指南
本文详细介绍如何使用Python将Numpy格式(.npy)文件转换为文本格式(.txt)。内容涵盖单个文件转换、批量处理文件夹内多个文件的方法,以及解决PyCharm控制台输出截断问题的配置技巧。通过具体代码示例,展示如何调整打印选项、重塑数组形状并保存数据,适用于神经网络权重查看及数据预处理场景。
单个Npy文件转换为Txt及控制台输出
以下代码演示如何读取.npy格式的数据并将其输出至控制台。首先导入numpy库,并通过sys模块设置打印选项以显示全部数据,避免输出被省略号截断。接着加载指定路径下的boxes.npy文件,打印其内容,最后使用savetxt函数将其保存为同目录下的boxes.txt文件,格式为字符串。
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格式,并将结果保存至当前目录下与源文件同名的txt文件中。
如果需要处理整个文件夹下的多个npy文件,可以使用以下代码实现批量转换。
批量处理文件夹内多个Npy文件
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格式的情况。
单个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编辑器时,可能需要调整控制台的buffer大小。
PyCharm默认的控制台buffer大小为1024KB。如果输出的数据量过大,超出此限制会导致数据无法完整显示。此时需要修改buffer大小以允许全部数据输出。
具体的修改方法如下。
找到PyCharm安装目录下的bin文件夹,定位到idea.properties配置文件。在该文件中找到idea.cycle.buffer.size参数,其默认值为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格式文件。
.npy文件通常用于保存神经网络训练后的权重数据。
问题描述:在Ubuntu环境下,若直接使用gedit打开.npy文件,由于二进制格式原因,无法直接查看其内容。

解决方法:编写Python代码读取.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文件的完整操作指南,希望能对读者有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









