小编Vic*_*tor的帖子

如何使用python numpy.savetxt将字符串和浮点数写入ASCII文件?

我有一组包含字符串和浮点数的列表,例如:

import numpy as num

NAMES  = num.array(['NAME_1', 'NAME_2', 'NAME_3'])
FLOATS = num.array([ 0.5    , 0.2     , 0.3     ])

DAT =  num.column_stack((NAMES, FLOATS))
Run Code Online (Sandbox Code Playgroud)

我想将这两个列表堆叠在一起,并以列的形式将它们写入文本文件; 因此,我想使用numpy.savetxt(如果可能的话)来做到这一点.

num.savetxt('test.txt', DAT, delimiter=" ") 
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

>>> num.savetxt('test.txt', DAT, delimiter=" ") 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/numpy-1.8.0.dev_9597b1f_20120920-py2.7-macosx-10.8-x86_64.egg/numpy/lib/npyio.py", line 1047, in savetxt
    fh.write(asbytes(format % tuple(row) + newline))
TypeError: float argument required, not numpy.string_
Run Code Online (Sandbox Code Playgroud)

理想的输出文件如下所示:

NAME_1    0.5
NAME_2    0.2
NAME_3    0.3
Run Code Online (Sandbox Code Playgroud)

如何将字符串和浮点数写入文本文件,可能避免使用csv(我想让其他人可读)?有没有另一种方法来做这个而不是使用numpy.savetxt

python numpy list output

63
推荐指数
2
解决办法
13万
查看次数

标签 统计

list ×1

numpy ×1

output ×1

python ×1