Skip to main content
 首页 » 编程设计

python之如何将包含多个字符串的 python 数组保存到人类可读的文件中

2025年05月04日21telwanggs

我想知道如何将在此问题的答案(由 Paul)中创建的数组保存到文本文件中。

How do I print an aligned numpy array with (text) row and column labels?

详情如下:

a = np.random.rand(5,4) 
x = np.array('col1 col2 col3 col4'.split()) 
y = np.array('row1 row2 row3 row4 row5'.split()) 
b = numpy.zeros((6,5),object) 
b[1:,1:]=a 
b[0,1:]=x 
b[1:,0]=y 
b[0,0]='' 
printer = np.vectorize(lambda x:'{0:5}'.format(x,)) 
print printer(b).astype(object) 
 
[[     col1 col2 col3 col4] 
 [row1 0.95 0.71 0.03 0.56] 
 [row2 0.56 0.46 0.35 0.90] 
 [row3 0.24 0.08 0.29 0.40] 
 [row4 0.90 0.44 0.69 0.48] 
 [row5 0.27 0.10 0.62 0.04]] 

请您参考如下方法:

我真的很喜欢使用 writelines 的 repr() 和 .rjust() 功能。假设我有一个 Matrix 'mat'(即一个 ndarray),其中 A.shape = (10,2),并且想要特定的格式和舍入,我可以通过使用以下命令获得经过调整的体面输出:

mat = numpy.random.rand(10,10) 
f = open('myFile','a') 
m,n = mat.shape 
for i in range(0,m): 
    for j in range(0,n): 
        f.writelines(repr(round(mat[i,j],4)).rjust(7)) 
f.writelines('\n') 
 
f.close()