使用np.savetxt保存包含字符串和float

时间:2015-07-10 13:42:14

标签: arrays csv python-3.x numpy

我有一个numpy结构化数组,其中包含string和float。我想将这个结构化数组保存到csv文件中。 我的程序的简化版本是这样的。

    structured_array = np.zeros((1,), dtype=[('string','a20'),('float','f8')])
    structured_array['string'] = 'string'
    structured_array['float'] = 0.0
    np.savetxt('foo.csv', structured_array, delimiter=',',fmt='%s,%f')

我希望foo.csv中有string,0.000000,但它会给我b'string',0.000000这个引号和b来自何处?我怎么能摆脱它?

我可以使用readline()并手动摆脱这个,但有没有聪明的方法来做到这一点。

非常感谢。

1 个答案:

答案 0 :(得分:1)

savetxt中的第1087行(... \ lib \ site-packages \ numpy \ lib \ npio.py)

for row in X:
    fh.write(asbytes(format % tuple(row) + newline))

这表明在写入之前将列转换为字节(因此b前缀。它似乎不会出现这种情况。