簡體   English   中英

檢查Excel工作表是否為空

[英]Check if a Excel Sheet is empty

我有一本具有多個工作表的Excel工作簿。 我需要刪除完全為空的工作表,因為我的代碼在處理過程中發現一張空白工作失敗。

os.chdir(path)
list_file=[]
for file in glob.glob("*.xlsx"):
    print(file)
    list_file.append(file)

我列出了所有可用的文件。

AB_list=[s for s in list_file if "India" in s]
CD_list=[s for s in list_file if "Japan" in s]

然后,我存儲文件名是按要求列出的。 現在,我需要先從這些excel文件中刪除空白表,然后再將其移至數據框。 然后循環遍歷以將文件讀入單個數據幀。

您已經標記了openpyxl所以我認為您正在使用它。

# workbook is opened MS Exel sheet opened with openpyxl.Workbook
empty_sheets = []
for name in workbook.get_sheet_names():
    sheet = workbook.get_sheet_by_name(name)
    if not sheet.columns():
        empty_sheets.append(sheet)

map(workbook.remove, empty_sheets)

ws.max_rowws.max_column應該給您上次使用的單元格位置。 基於此,您可以確定工作表是否為空。 另外,請檢查ws.calculate_dimension()是否適合您,該方法應該返回一個范圍。

所有功能都來自您已經熟悉的openpyxl

您也可以使用我也在使用的熊貓輕松做到這一點。 這里

和代碼看起來像

import pandas as pd

df = pd.read_csv(filename) #或

xls文件df.empty的pd.read_excel(filename)

暫無
暫無

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

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