簡體   English   中英

pd.read_excel() 忽略過濾器

[英]pd.read_excel() ignores filters

我正在處理一些 xlsx 文件,需要將它們導入程序。 我寫了一個腳本來處理我需要它做的一切。

但是,在導入之前,我需要對 excel 中的表應用過濾器。

當我應用過濾器並准備表格以導入到 python 時,python 讀取整個表格而忽略所有過濾器。

我的工作是過濾我需要的內容,然后將其復制到新工作表中。 然后,當讀入 excel 時,我指定了我要查找的新過濾數據表。

有沒有辦法將過濾后的表直接讀入excel?

或者我應該只導入整個表並在我的腳本中使用 pandas 應用那些相同的過濾器嗎?

IIUC,您不能只讀取 Excel 電子表格的可見行和/或

為此,您需要 ( !pip install openpyxl ) 的一些幫助:

from openpyxl import openpyxl
import pandas as pd
​
wb = load_workbook("file.xlsx")
ws = wb.active # or wb["SheetName"] # <- change the name here
​
rows = [[c.value for c in r
        if c.value and not ws.row_dimensions[r[0].row].hidden]
        for r in ws.iter_rows()]
​
df = pd.DataFrame(data= rows[1:], columns=rows[0]).dropna()

Output:

print(df)

   col  col2
0  foo   1.0
2  baz   3.0

使用的輸入(電子表格):

在此處輸入圖像描述

暫無
暫無

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

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