无法导入 scipy 的 io

Posted

技术标签:

【中文标题】无法导入 scipy 的 io【英文标题】:Can't import scipy's io 【发布时间】:2014-08-27 02:37:17 【问题描述】:

我是 Python 的真正新手,所以我可能犯了一些新手错误。但我似乎无法弄清楚,所以我希望有人能帮助我。我想在 Python 中使用 Matlab(.mat) 文件。为了做到这一点,我尝试了:

import scipy.io

这给了我错误:

文件“C:\Python27\lib\site-packages\scipy\io__init__.py”,第 85 行,在 从 .matlab 导入 loadmat、savemat、whosmat、byteordercodes 文件“C:\Python27\lib\site-packages\scipy\io\matlab__init__.py”,第 13 行,在 从 .mio 导入 loadmat、savemat、whosmat 文件“C:\Python27\lib\site-packages\scipy\io\matlab\mio.py”,第 12 行,在 从 .miobase 导入 get_matfile_version,docfiller 文件“C:\Python27\lib\site-packages\scipy\io\matlab\miobase.py”,第 22 行,在 从 scipy.misc 导入文档 文件“C:\Python27\lib\site-packages\scipy\misc__init__.py”,第 44 行,在 从 。导入文档 ImportError: 无法导入名称文档

不明白,“doccer”是什么意思?

有趣的是,当我给它import scipy 时,它似乎没问题。当我给它时: help(scipy.io) 它给出了错误:

AttributeError: 'module' object has no attribute 'io'

但是当我检查 scipy 文件夹时,它有另一个名为 io 的文件夹。谁能帮我吗? PS:我运行 Python 2.7。

【问题讨论】:

doccer 不能是某个模块。您是否同时导入了 scipyscipy.io 该错误表示您的计算机上未正确安装 Scipy。从您提供的信息中并不清楚到底出了什么问题。 好吧,我都试过了,但是当我做 scipy.io 时,它给了我错误。 那我应该重新安装它吗? 是的,您应该重新安装 SciPy。确保它是正确的版本(32 位/64 位) 【参考方案1】:

在这里,您必须从 scipy.io 包中导入您将要使用的模块 例如。假设我正在处理音频数据并想要wavfile 模块,那么我会这样做

import scipy.io.wavfile
sr,data = scipy.io.wavfile.read("xx")

这是它的所有模块

   ['FortranEOFError',
 'FortranFile',
 'FortranFormattingError',
 'byteordercodes',
 'harwell_boeing',
 'hb_read',
 'hb_write',
 'idl',
 'loadmat',
 'matlab',
 'mminfo',
 'mmio',
 'mmread',
 'mmwrite',
 'netcdf',
 'netcdf_file',
 'netcdf_variable',
 'readsav',
 'savemat',
 'whosmat']

【讨论】:

以上是关于无法导入 scipy 的 io的主要内容,如果未能解决你的问题,请参考以下文章

使用 scipy.io loadmat 将 Matlab 结构导入 python 时的值错误

无法导入 sklearn

在 scipy 中将 qmc 作为子模块导入

SciPy/NumPy 导入指南

pyinstaller 导入 scipy 模块

ModuleNotFoundError:没有名为“scipy.misc.pilutil”的模块