![](/img/trans.png)
[英]python pandas read_excel engine=openpyxl not closing file
[英]read_excel is reading empty rows when engine='openpyxl'
我最近切換到 Jupyter Lab,發現 pd.read_excel() 現在在其 arguments 中需要“engine = 'openpyxl'”,以避免默認為 xlrd 時出現已知錯誤。 不幸的是,openpyxl 作為一個引擎引入了我以前的代碼都沒有考慮的問題。
特別是,當我導入 xlsx 文件時,在數據幀末尾出現 append 行 NaN 值。 我知道 Excel 工作表開頭的空白行被推到導入末尾的問題,而這里不是這種情況。 我有一個 Excel 文件,其中包含多個選項卡,每個選項卡的第一行中有 16 個唯一的列標題(並且選項卡之間相同),並且每一行都填充了數據。 以前,在 Jupyter Notebook(並且沒有 engine='openpyxl')中,帶有 sheet_name=None 的 read.excel() 將從每個選項卡創建一個數據幀字典,不會讀取數據末尾之外的其他行。 現在,我在一些數據幀的末尾得到了一千多行空白行。
我不期待瀏覽我所有的舊代碼並將 dropna(how='all) 添加到每個導入中,並且擔心這可能表明我沒有發現更大的問題。 有沒有人經歷過類似的事情? 下面是在 Jupyter Lab 中導入有問題的選項卡之一作為示例,以及選項卡本身的 Excel 表,第 5226 行之外沒有數據。
謝謝您的幫助!
在 pandas 的 1.1.4 版本中,您需要engine="openpyxl"
但在 pandas 的 1.2.4 版本中,您將不需要 openpyxl 參數。 所以升級可能是值得的,但不確定它是否能解決你的問題。
pip install pandas --upgrade
檢查您安裝了哪些版本
import pandas as pd
import openpyxl
print(pd.__version__)
print(openpyxl.__version__)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.