【问题标题】:Error for Optional Dependency: xlrd in Jupyter可选依赖项错误:Jupyter 中的 xlrd
【发布时间】:2020-11-28 00:09:07
【问题描述】:

我正在尝试使用 Pandas 将 Excel 文件读入我的 Jupyter Notebook。但是,我不断收到错误消息:

ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

在您说“只使用 pip/conda 安装 xlrd”之前,这对我来说不是一个选项,因为我正在处理离线 VM,并且只有在我的公司发布新的安装包时才能更新库。

我的代码如下。我也尝试过使用 pd.read_excel() 方法并得到相同的错误。我的计划是使用它,然后将每个工作表附加到 df_data_master。

file_name = 'Data\\MillDataMaster.xlsx'
df_data_master = pd.DataFrame()
xl = pd.ExcelFile(file_name)

有谁知道是否有办法忽略这个错误,因为它说它是一个可选的依赖项?或者可能以另一种方式读取不涉及 pd.ExcelFile 或 pd.read_excel 的 .xlsx 文件?

任何帮助将不胜感激!这是完整的错误代码:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-37-66aed5c24499> in <module>
     10 file_name = 'Data\\MillDataMaster.xlsx'
     11 df_data_master = pd.DataFrame()
---> 12 pd.ExcelFile(file_name)
     13 #for i in range(len(file_list)):
     14 #    df_temp1 = pd.read_csv(file_list[i], header=[0])

C:\Users\Public\ProgramingFiles\aitools-deploy\WPy64-3760\python-3.7.6.amd64\lib\site-packages\pandas\io\excel\_base.py in __init__(self, io, engine)
    817         self._io = _stringify_path(io)
    818 
--> 819         self._reader = self._engines[engine](self._io)
    820 
    821     def __fspath__(self):

C:\Users\Public\ProgramingFiles\aitools-deploy\WPy64-3760\python-3.7.6.amd64\lib\site-packages\pandas\io\excel\_xlrd.py in __init__(self, filepath_or_buffer)
     18         """
     19         err_msg = "Install xlrd >= 1.0.0 for Excel support"
---> 20         import_optional_dependency("xlrd", extra=err_msg)
     21         super().__init__(filepath_or_buffer)
     22 

C:\Users\Public\ProgramingFiles\aitools-deploy\WPy64-3760\python-3.7.6.amd64\lib\site-packages\pandas\compat\_optional.py in import_optional_dependency(name, extra, raise_on_missing, on_version)
     91     except ImportError:
     92         if raise_on_missing:
---> 93             raise ImportError(message.format(name=name, extra=extra)) from None
     94         else:
     95             return None

ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

【问题讨论】:

  • 在您的 jupyter 环境中(假设您正在运行虚拟环境)pip3 install xlrd

标签: python pandas jupyter-notebook


【解决方案1】:

我遇到了同样的问题。 xlrd 没有在 Jupyter 中导入。

它适用于 openpyxl。您可以像这样将引擎作为参数添加到 read_excel:

report = pd.read_excel(report_file, sheet_name = 'data', engine='openpyxl')

【讨论】:

    猜你喜欢
    • 2021-03-23
    • 2021-07-21
    • 2019-06-15
    • 2015-11-15
    • 1970-01-01
    • 2012-11-18
    • 2021-06-10
    • 2021-09-17
    • 1970-01-01
    相关资源
    最近更新 更多