无法导入scipy的io
我刚开始学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 导入 doccer
文件 "C:\Python27\lib\site-packages\scipy\misc__init__.py",第44行,
从 . 导入 doccer
导入错误:无法导入名称 doccer
我不明白这个错误,"doccer"是什么意思?
有趣的是,当我输入 import scipy
时,似乎没有问题。当我输入:
help(scipy.io)
它却出现了错误:
AttributeError: 'module' object has no attribute 'io'
不过当我查看scipy文件夹时,发现里面有一个叫io的文件夹。有人能帮帮我吗?顺便说一下,我用的是Python 2.7。
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']