导入错误 - 没有名为numpyio的模块

时间:2012-05-17 14:12:17

标签: python import numpy

任何人都知道如何解决此错误?

Exception Type: ImportError
Exception Value: No module named numpyio

查看我的python代码,我的导入:

from scipy.io.numpyio import fwrite, fread
你能帮帮我吗?

3 个答案:

答案 0 :(得分:4)

这是因为scipy.io.numpyio模块在​​SciPy 0.7之后的某个时候被删除了(例如,见thread)。从SciPy Input/Output Cookbook page开始,您可以使用函数numpy.fromfilenumpy.nadarray.tofile(请参阅“原始二进制”标题下)。

答案 1 :(得分:3)

虽然numpy.ndarray.fromfile()允许您指定要读取的二进制格式(例如,浮点数为'f'),但.tofile()函数没有这样的二进制选项。对于我们这些需要以特定格式编写二进制文件以供其他软件阅读的人来说,这是一个非常不方便的不一致。不幸的是,开发社区似乎忽略了这个问题,因为似乎没有开放的票证。

我使用数组模块创建了一个简单的替换函数。基本代码如下:

def fwrite(filename, formatstring, ndarray):
    arr = array.array(formatstring, ndarray.flatten())
    f = open(filename, 'w')
    arr.tofile(f)
    f.close()

到目前为止似乎有效。显然,这可能/应该用错误检查等装饰。

答案 2 :(得分:1)

来自archives

  

numpy数组的I / O函数已经移动到numpy所在的位置,或者在它们提供重复功能时被移除。使用numpy.load和numpy.save以numpy自己的.npy格式读取数组,为ascii读取loadtxt / savetxt。