web-dev-qa-db-ja.com

Python:Pandas pd.read_ExcelでImportErrorが発生する:Excelサポートのためにxlrdをインストールする> = 0.9.0

私はパンダで.xlsxを読み取ろうとしていますが、次のエラーが発生します:

data = pd.read_Excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0) 

Traceback (most recent call last):
  File "/Users/Vineeth/PycharmProjects/DataAnalysis1/try1.py", line 9, in <module>
    data = pd.read_Excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/util/_decorators.py", line 118, in wrapper
    return func(*args, **kwargs)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/Excel.py", line 230, in read_Excel
    io = ExcelFile(io, engine=engine)
  File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/Excel.py", line 263, in __init__
    raise ImportError(err_msg)
ImportError: Install xlrd >= 0.9.0 for Excel support

私も試しました

data = pd.read_Excel("DataAnalysis1/temp1.xlsx", low_memory=False).fillna(value=0)

そして、私はまだ同じエラーを受け取ります。

背景:複数のワークシートを含むExcelファイルをデータフレームの辞書として抽出しようとしています。xlrdバージョン0.9.0と最新バージョン(1.1.0)をインストールしましたが、同じエラーが発生します。ありがとう!

42
Vineeth Sai

@COLDSPEEDが雄弁に指摘したように、エラーはxlrdをインストールするように明示的に指示します。

pip install xlrd

そして、あなたは行ってもいいでしょう。

70
Grr

次のいずれかを使用します。

    pip install xlrd

Condaを使用している場合は、使用します

    conda install -c anaconda xlrd

それでおしまい。幸運を。

12
E. Erfan

以下のコードについて、Pycharmで「ImportError:Install xlrd> = 1.0.0 for Excel support」というエラーが表示されました

import pandas as pd
df2 = pd.read_Excel("data.xlsx")
print(df2.head(3))
print(df2.tail(3))

解決策:pip install xlrd

これを使用した後、エラーを解決しました。また、「import xlrd」を使用する必要はありません

2
Omkar

Jupyterの使用中にエラーが発生していました。

ModuleNotFoundError: No module named 'xlrd'
...
ImportError: Install xlrd >= 0.9.0 for Excel support

使用後に解決されました。

!pip install xlrd
1
Santosh sanwal

私は同じ問題に遭遇し、それを理解するのに2時間かかりました。

  1. pip install xlrd(最新)
  2. pip install pandas(最新)
  3. C:\ Python27\Lib\site-packagesに移動し、xlrdフォルダー(2つある場合)を確認し、古いバージョンを削除します
  4. 新しいターミナルを開き、pandasを使用してExcelを読み取ります。動作するはずです。
1
Vivek Sh

これが誰かに役立つかどうかはわかりませんが、同じ問題がありました。特定の環境でanacondaプロンプトにpip install xlrdと書いて、インストールされたと言っていましたが、インストールされたパッケージを見るとそこにありませんでした。問題を解決したのは、特定の環境のScriptsフォルダーに "移動"(用語がわからない)して、そこでpip install xlrdを実行することでした。これが誰かに役立つことを願っています:D

1

別の可能性として、マシンに古いバージョンのxlrdが個別にインストールされており、「..:\ Python27\Scripts ..」フォルダーにない可能性があります。

別のWordでは、マシンにはxlrdの2つの異なるバージョンがあります。

enter image description here

以下のバージョンを確認すると、pipの更新方法に関係なく、「..:\ Python27\Scripts ..」フォルダーにないバージョンが読み取られます。

print xlrd.__version__

冗長サブフォルダー全体を削除すると、機能します。 (xlrdに加えて、別のライブラリで同じことが発生しました)

0
Mark K

Jupyterノートブックでxlrdを使用しようとすると、同様の問題が発生しました。仮想環境を使用していることに気づきましたが、それも私の問題の鍵でした。 venvにxlrdをインストールしましたが、ノートブックにその仮想環境のカーネルを適切にインストールしていませんでした。

動作させるために、仮想環境を作成してアクティブにしました。

次に... pip install ipykernel

そして... ipython kernel install --user --name=myproject

最後に、jupyterノートブックを起動し、新しいノートブックを作成するときに、作成した名前(この例では「myproject」)を選択します

それが役に立てば幸いです。

0

「xlrd」ライブラリをインストールする必要があります

Linux(UbuntuおよびDerivates)の場合:

Pip経由のインストール:python -m pip install --user xlrd

Linuxパッケージマネージャーを使用してシステム全体にインストールします。* Sudo apt-get install python-xlrd

Windows:

Pipを介したインストール:* pip install xlrd

ファイルをダウンロードします: https://pypi.org/project/xlrd/

0
nilsoviani

まず、xlrdとpandasパッケージをインストールする必要があります。次に、以下のコードを試してください。

import xlrd
import pandas as pd

xl = pd.ExcelFile("fileName.xlsx")
print(xl.parse(xl.sheet_names[0]))
0
reza.cse08

pythonまたはpython3がxlrdのインストールを確認できることを確認してください。 python3.5とpython3.7が2つの異なる場所にインストールされている状況がありました。 xlrdはpython3.5と共にインストールされましたが、スクリプトを実行するためにpython3(python3.7 dirから)を使用しており、上記と同じエラーが報告されました。正しいpython(viz。python3.5 dir)を使用してスクリプトを実行すると、Excelスプレッドシートを問題なく読み取ることができました。

0
C K

これは、xlrdがすでにインストールされていて、以前にこのエラーをスローしたことがないにもかかわらず、cProfile a la python3 -m cProfile script.pyを使用してスクリプトを実行した後に起こりました。 python3 script.pyの下でも持続しました。 (確かに、明らかなインポートエラーを考えると、これはOPに起こったことではないことに同意します)

ただし、私のようなケースでは、すべてのケースで「要件はすでに満たされています」と言われていますが、次のように問題を修正しました。

pip install --upgrade pandas
pip install --upgrade xlrd

かなり混乱させるもの。 cProfileが原因だったのか、単なる偶然なのかわからない

pip installがpython2で動作していると仮定すると、以下が動作するはずです。

python3 -m pip install xlrd
0
Mike Palmice