python numpy savetxt 输出一个多维数组到txt,如何保持格式

dust_dust 2015-03-12 04:49:18
np.savetxt(filename,result_array,fmt='%s',newline='\n')


如何让,fmt='%s'中%s的个数等于result_array的维数
比如
result_array
array([[1, 2, 3],
[4, 5, 6]])

如何让fmt='%s %s %s',这样输出到txt中才能保持两行三列的格式
...全文
36078 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianyi1216 2017-11-15
  • 打赏
  • 举报
回复
引用 10 楼 libralibra 的回复:
[quote=引用 5 楼 shaode0101 的回复:] 比如,定义一个函数专门用来做savetxt
def savetxt(filename,x):
np.savetxt(filename,x,fmt='%s',newline='\n')
x的维数是未知的
注意参看函数说明: http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html fmt的说明有 c.a list of specifiers, one per column 结合numpy自己的内置函数获得列数目即可 试试下面的代码
import numpy as np

result_array1 = np.array([[1,2,3,],[4,5,6]])
result_array2 = np.array([[4,5,6],[7,8,9]])

file_name1 = r'c:\test_save1.txt'
file_name2 = r'c:\test_save2.txt'

np.savetxt(file_name1,result_array1,fmt=['%s']*result_array1.shape[1],newline='\n')
np.savetxt(file_name2,result_array1,fmt=['%s']*result_array2.shape[1],newline='\n')
[/quote] TypeError: Mismatch between array dtype ('int32') and format specifier ('%s %s %s %s')还是会报错呢
libralibra 2015-03-13
  • 打赏
  • 举报
回复
引用 5 楼 shaode0101 的回复:
比如,定义一个函数专门用来做savetxt
def savetxt(filename,x):
np.savetxt(filename,x,fmt='%s',newline='\n')
x的维数是未知的
注意参看函数说明: http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html fmt的说明有 c.a list of specifiers, one per column 结合numpy自己的内置函数获得列数目即可 试试下面的代码
import numpy as np

result_array1 = np.array([[1,2,3,],[4,5,6]])
result_array2 = np.array([[4,5,6],[7,8,9]])

file_name1 = r'c:\test_save1.txt'
file_name2 = r'c:\test_save2.txt'

np.savetxt(file_name1,result_array1,fmt=['%s']*result_array1.shape[1],newline='\n')
np.savetxt(file_name2,result_array1,fmt=['%s']*result_array2.shape[1],newline='\n')
乔巴好萌 2015-03-12
  • 打赏
  • 举报
回复
"% s" * (result.size/len(result))
dust_dust 2015-03-12
  • 打赏
  • 举报
回复
引用 7 楼 openXMPP 的回复:
应该是 result.size/len(result)
请看我后面的回复,我知道可以求出x的维度,但怎么写到fmt里面呢?
乔巴好萌 2015-03-12
  • 打赏
  • 举报
回复
应该是 result.size/len(result)
乔巴好萌 2015-03-12
  • 打赏
  • 举报
回复
引用 4 楼 shaode0101 的回复:
引用 2 楼 openXMPP 的回复:
result.size()/len(result)
我是要输出多个这样的数组,他们的维数不一样,有的三个有的四个等等
result.size()/len(result) 这不就是一个动态值吗
dust_dust 2015-03-12
  • 打赏
  • 举报
回复
比如,定义一个函数专门用来做savetxt
def savetxt(filename,x):
np.savetxt(filename,x,fmt='%s',newline='\n')
x的维数是未知的
dust_dust 2015-03-12
  • 打赏
  • 举报
回复
引用 2 楼 openXMPP 的回复:
result.size()/len(result)
我是要输出多个这样的数组,他们的维数不一样,有的三个有的四个等等
dust_dust 2015-03-12
  • 打赏
  • 举报
回复
引用 1 楼 mujiok2003 的回复:
 np.savetxt("dump.txt",x, fmt="%f,%f,%f")
我是要输出多个这样的数组,他们的维数不一样,有的三个有的四个等等
乔巴好萌 2015-03-12
  • 打赏
  • 举报
回复
result.size()/len(result)
mujiok2003 2015-03-12
  • 打赏
  • 举报
回复
 np.savetxt("dump.txt",x, fmt="%f,%f,%f")

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧