如何显示不带引号且以逗号作为分隔符的NumPy字符串数组?

时间:2018-10-05 13:59:50

标签: python arrays numpy genfromtxt

我正在尝试使用numpy.genfromtxt从文件中生成数组。

文件就像:

16.37.235.200|59009|514|16.37.235.153|
17.37.235.200|59009|514|18.37.235.153|

然后我得到一个像这样的数组:

['16.37.235.200' '17.37.235.200']

但是我希望数组像这样:

[16.37.235.200,17.37.235.200]

1 个答案:

答案 0 :(得分:0)

这是您的原始数组:

x = np.array(['16.37.235.200', '17.37.235.200'])

打印时显示如下:

print(x)
>>> ['16.37.235.200' '17.37.235.200']

为了用逗号作为分隔符显示它,并且在字符串两边不加引号,我们可以使用np.set_printoptions

print(np.array2string(x, separator=',', formatter={'str_kind': lambda x: x}))
>>> [16.37.235.200,17.37.235.200]

我不喜欢这种lambda x: x格式化程序,但是无法提出更好的删除引号的方法。


您可以在此处找到更多信息:How to pretty-printing a numpy.array without scientific notation and with given precision?