簡體   English   中英

Python:Pandas pd.read_excel 給出 ImportError:為 Excel 支持安裝 xlrd >= 0.9.0

[英]Python: Pandas pd.read_excel giving ImportError: Install xlrd >= 0.9.0 for Excel support

我正在嘗試讀取帶有 pandas 的.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),但我仍然遇到相同的錯誤。 謝謝!

正如@COLDSPEED 如此雄辯地指出錯誤明確告訴您安裝 xlrd。

pip install xlrd

你會很高興去的。

自 2020 年 12 月起,xlrd 不再支持 xlsx-Files,如官方變更日志中所述 您可以改用openpyxl

pip install openpyxl

在你的 python 文件中:

import pandas as pd
pd.read_excel('path/to/file.xlsx', engine='openpyxl')

要么使用:

pip install xlrd

如果您使用的是 conda,請使用

conda install -c anaconda xlrd

就是這樣。 祝你好運。

我收到一個錯誤

“導入錯誤:安裝 xlrd >= 1.0.0 以獲得 Excel 支持”

在 Pycharm 上獲取以下代碼

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

解決方案: pip install xlrd

使用它后它解決了錯誤。 也不需要使用“ import xlrd

如果您在 ubuntu 中,這對我有用:

python3 -m pip install openpyxl
python3 -m pip install xlrd

這發生在我用 cProfile a la python3 -m cProfile script.py運行腳本后,即使 xlrd 已經安裝並且以前從未拋出過這個錯誤。 即使在python3 script.py下它仍然存在。 (當然,鑒於明顯的導入錯誤,我同意這不是 OP 發生的情況)

但是,對於像我這樣的情況,盡管在每種情況下都被告知“要求已經滿足”,但以下解決了該問題。

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

相當令人困惑的東西; 不確定 cProfile 是原因還是巧合

假設您的pip install在 python2 上運行,以下應該可以工作。

python3 -m pip install xlrd

這對我有用:對於 Python 3

pip3 安裝 xlrd --user

對於 Python2

pip install xlrd --user

我不知道這是否對某人有幫助,但我遇到了同樣的問題。 我在特定環境中的 anaconda 提示符下寫了pip install xlrd並且它說它已安裝,但是當我查看已安裝的軟件包時它不存在。 解決問題的是“移動”(我不知道它的術語)到特定環境的Scripts文件夾中,並在那里執行pip install xlrd 希望這對某人有用:D

我在使用 jupyter 時遇到錯誤。

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

使用后為我解決了。

!pip install xlrd

我遇到了同樣的問題,花了 2 個小時才弄明白。

  1. pip install xlrd(最新)
  2. pip install pandas(最新)
  3. 轉到 C:\\Python27\\Lib\\site-packages 並檢查 xlrd 文件夾(如果有 2 個)刪除舊版本
  4. 打開一個新終端並使用pandas讀取excel。 它應該工作。

我遇到了同樣的問題,以上答案都沒有奏效。 如果您進入設置(CTRL + ALT + s)並搜索項目解釋器,您將看到所有已安裝的軟件包。 單擊右上角的 + 按鈕並搜索 xlrd,然后單擊左下角的安裝包。

在此之前,我已經從 python.exe 的文件位置執行了“pip install xlrd”命令,因此您可能也需要這樣做。 (你可以通過在windows搜索欄中搜索找到文件位置並右鍵單擊->打開文件位置,然后在文件資源管理器地址欄中輸入cmd)

首先,您需要安裝 xlrd 和 pandas 包。 然后嘗試下面的代碼。

import xlrd
import pandas as pd

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

您需要安裝“xlrd”庫

對於 Linux(Ubuntu 和衍生產品):

通過 pip 安裝: python -m pip install --user xlrd

通過 Linux 包管理器在系統范圍內安裝:*sudo apt-get install python-xlrd

窗戶:

通過 pip 安裝:*pip install xlrd

下載文件: https : //pypi.org/project/xlrd/

另一種可能性是機器單獨安裝了舊版本的 xlrd,它不在“..:\\Python27\\Scripts..”文件夾中。

換句話說,機器中有 2 個不同版本的 xlrd。

在此處輸入圖片說明

當您檢查下面的版本時,它會讀取不在“..:\\Python27\\Scripts..”文件夾中的版本,無論您使用 pip 進行了多少更新。

print xlrd.__version__

刪除整個冗余子文件夾,它可以工作。 (除了xlrd,我還有另一個庫遇到了同樣的情況)

我在嘗試在 jupyter notebook 中使用 xlrd 時遇到了類似的問題。 我注意到您正在使用虛擬環境,這也是我的問題的關鍵。 我在我的 venv 中安裝了 xlrd,但我沒有在我的筆記本中正確安裝該虛擬環境的內核。

為了讓它工作,我創建了我的虛擬環境並激活了它。

然后... pip install ipykernel

然后... ipython kernel install --user --name=myproject

最后,啟動 jupyter notebooks,當你創建一個新的 notebook 時,選擇你創建的名字(在這個例子中,'myproject')

希望有幫助。

請確保您的 python 或 python3 可以看到 xlrd 安裝。 我遇到過 python3.5 和 python3.7 安裝在兩個不同位置的情況。 雖然 xlrd 與 python3.5 一起安裝,但我使用 python3(來自 python3.7 目錄)來運行我的腳本並得到了上面報告的相同錯誤。 當我使用正確的 python(即 python3.5 目錄)運行我的腳本時,我能夠毫無問題地讀取 excel 電子表格。

這可能是因為您需要的庫安裝在 Python 環境而不是 Spyder 中。

https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder

我有同樣的問題。 實際上,問題是即使在使用 pip 安裝包/庫之后,這些包也沒有與 IDE 集成。 所以,需要專門向ide添加庫。

正如@WojciechJakubas 提到要安裝openpyxl而不是xlrd ,我使用openpyxl並且它有效。

pip 安裝 openpyxl

import openpyxl
path = "path to file.xlxs"
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
length_col = sheet_obj.max_row
print("Length of rows : ", length_col)

我希望它能在 2023 年幫助很多人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM