numpy tofile在每行中添加单引号

时间:2019-02-01 23:37:46

标签: python python-3.x numpy numpy-ndarray

我试图挽救一个字符串数组在文件中,使用numpy的。这里是我的代码:

import numpy as np


items = ["Hello World"] * 5

np.array(items).tofile('hello.txt', "\n")

它可以工作,但是问题是输出中的每一行都有一个单引号,这使它看起来像这样:

'Hello World'
'Hello World'
'Hello World'
'Hello World'
'Hello World'

如何使numpy这样写输出?并在末尾加一行?

Hello World
Hello World
Hello World
Hello World
Hello World

提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以通过显式传递(奇怪的默认)格式字符串来解决此问题:

np.array(items).tofile('test.txt', '\n', '%s')

很显然,the documentation中的函数签名与the one actually used不同。实际签名使用关键字参数,因此能够检测是否给出了格式字符串。如果缺少它们,他们可能会根据数据类型选择合适的默认值(尽管我找不到与此相关的代码)。