03.09 数组与字符串的转换

数组与字符串的转换

tostring 方法

1import numpy as np
1a = np.array([[1,2],
2           [3,4]], 
3          dtype = np.uint8)

转化为字符串:

1a.tostring()
'\x01\x02\x03\x04'

我们可以使用不同的顺序来转换字符串:

1a.tostring(order='F')
'\x01\x03\x02\x04'

这里使用了Fortran的格式,按照列来读数据。

fromstring 函数

可以使用 fromstring 函数从字符串中读出数据,不过要指定类型:

1s = a.tostring()
2a = np.fromstring(s, 
3                  dtype=np.uint8)
4a
array([1, 2, 3, 4], dtype=uint8)

此时,返回的数组是一维的,需要重新设定维度:

1a.shape = 2,2
2a
array([[1, 2],
       [3, 4]], dtype=uint8)

对于文本文件,推荐使用

  • loadtxt
  • genfromtxt
  • savetxt

对于二进制文本文件,推荐使用

  • save
  • load
  • savez