我有一张包含多张工作表的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文件中删除空表,然后再将它们移动到数据帧。然后循环读取文件到单个数据帧。
答案 0 :(得分:1)
您已对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)
答案 1 :(得分:0)
ws.max_row
和ws.max_column
应该为您提供最后一次使用的单元格位置。基于此,您可以确定工作表是否为空。同时检查这是否适合ws.calculate_dimension()
,这应该返回一个范围。
所有功能均来自您已熟悉的openpyxl
。
答案 2 :(得分:0)
您可以轻松地使用我也使用过的大熊猫。 here
和代码看起来像
import pandas as pd
df = pd.read_csv(filename)
#
或
pd.read_excel(filename)
用于xls文件
df.empty