numpy.savetxt 的分隔符

5 投票
1 回答
5451 浏览
提问于 2025-04-17 19:21

我正在尝试使用 numpy.savetxt 将一个 numpy 数组写入一个 .txt 文件。根据我所理解的,下面的代码是按照文档的说明来写的:

z = np.array([1,2,3])
np.savetxt('testdata.txt',z,delimiter='hi')

但是,用记事本打开输出文件时,显示的内容是:

1.000000000000000000e+002.000000000000000000e+003.000000000000000000e+00

而且值之间没有用 hi 作为分隔符。你知道这可能是什么原因吗?我的目标是希望每个值之间能换行。

1 个回答

9

你需要一个二维数组,轴0代表行,轴1代表列。所以我用 z[None, :] 来把它转换成二维数组:

from StringIO import StringIO
s = StringIO()
z = np.array([1,2,3])
np.savetxt(s,z[None, :],delimiter='hi')
s.getvalue()

输出结果:

1.000000000000000000e+00hi2.000000000000000000e+00hi3.000000000000000000e+00\n

撰写回答