正在Jupyterlab中读取Excel文件和xlrd的ImportError



类似的问题在这里肯定讨论了很多,但似乎还没有完全解决,所以我想更新讨论。

我最近开始使用Python,并尝试使用在Jupyterlab(2.2.9(中读取Excel文件

import pandas as pd
sample_file = pd.read_excel("sample.xlsx")
sample_file.head()

然后我得到了下面描述的一个错误。

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-8-cfbece5b87d5> in <module>
----> 1 sample_data = pd.read_excel("sample_data.xlsx")
2 sample_data.head()
~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/io/excel/_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, **kwds)
302 
303     if not isinstance(io, ExcelFile):
--> 304         io = ExcelFile(io, engine=engine)
305     elif engine and engine != io.engine:
306         raise ValueError(
~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/io/excel/_base.py in __init__(self, io, engine)
822         self._io = stringify_path(io)
823 
--> 824         self._reader = self._engines[engine](self._io)
825 
826     def __fspath__(self):
~/.pyenv/versions/3.8.2/lib/python3.8/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 
~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/compat/_optional.py in import_optional_dependency(name, extra, raise_on_missing, on_version)
90     except ImportError:
91         if raise_on_missing:
---> 92             raise ImportError(msg) from None
93         else:
94             return None
ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

我使用Anaconda,xlrd的版本已经是1.2.0了。以防万一我已经做了

conda install xlrd

正如这里许多人所建议的那样(我也试着用pip代替conda(。然而,同样的错误仍然会发生。我完全迷路了。

import pandas as pd
sample_file = pd.read_excel("sample.xlsx")
sample_file.head()

试试这个

熊猫的建议恐怕有点过时了。您需要:
  1. conda install openpyxl
  2. 重新启动Jupyterlab
  3. 将熊猫代码更改为pd.read_excel("sample.xlsx", engine='openpyxl')

最新更新