Python Anaconda没有安装openpyxl和xlrd软件包

Python Anaconda没有安装openpyxl和xlrd软件包,python,pandas,module,conda,Python,Pandas,Module,Conda,在使用pandas、numpy等安装了新的Python 3.6环境后,当我尝试使用以下pandas方法时,出现了以下错误: >>> df.to_excel(filename) ModuleNotFoundError: No module named 'openpyxl' 在我之前使用pd.read\u excel方法时,也出现了类似的问题 在这两种情况下,通过使用conda install安装openpyxl/xlrd解决了问题,但我想知道这是否是故意的行为,以及为什么ope

在使用pandas、numpy等安装了新的Python 3.6环境后,当我尝试使用以下pandas方法时,出现了以下错误:

>>> df.to_excel(filename)
ModuleNotFoundError: No module named 'openpyxl'
在我之前使用
pd.read\u excel
方法时,也出现了类似的问题


在这两种情况下,通过使用
conda install
安装
openpyxl
/
xlrd
解决了问题,但我想知道这是否是故意的行为,以及为什么openpyxl/xlrd不会被视为pandas的依赖项并从一开始就安装。

是的,这是故意的。如果您阅读,您可以看到Excel I/O包含在其中

我能想到几个理由来解释为什么这是件好事:

  • Pandas中包含了如此多的功能,默认情况下包括所有功能都会导致安装量激增
  • Excel I/O有多种兼容的替代方案,因此将特定的选择强加给用户可能是不公平的,尤其是当用户已经为另一个依赖项安装了一个选择时

  • 但是,我确实认为这里的错误处理可以改进。例如,最好提供一条消息,说明如果没有其中一个软件包,此功能将不可用,而不是遇到一个硬的
    ModuleNotFoundError

    供参考,在我的情况下,问题没有通过Conda安装解决,因为缺少依赖性软件包,这是通过pip安装解决的…
    pip安装xlrd

    感谢您的解释。我想可能是这样的,这是有道理的。我听从了你的建议。一开始它是有效的,但在尝试加载excel文件时,我收到另一条错误消息:XLRDError:ExcelXLSX文件;不支持