如何使用Python计算Excel文件中所有工作表的总数?

27

我正在使用Python读取Excel文件。

import pandas as pd
import os

xls = pd.ExcelFile('D:\DirectoryProject\Mapping.xlsx')

它有若干数据表格,我不知道具体数量。请问如何使用Python计算Mapping.xlsx文件中所有表格的总数?

2个回答

62

openpyxl

import openpyxl

wb = openpyxl.load_workbook('file.xlsx') 
res = len(wb.sheetnames)

pandas

import pandas as pd

xl = pd.ExcelFile('file.xlsx')
res = len(xl.sheet_names)

xlrd

import xlrd

# use on_demand=True to avoid loading worksheet data into memory
wb = xlrd.open_workbook('file.xlsx', on_demand=True)
res = len(wb.sheet_names())  # or wb.nsheets

1
可以将此标记为已解决吗?对我来说(使用Python),它很有效且简单。 - CheGueVerra

1

仅仅是为了补充之前的回答 -

len(pd.read_excel(r"D:\DirectoryProject\Mapping.xlsx", sheet_name="None"))

这样您也可以获取纸张的数量。


2
这个解决方案可行,但它涉及将所有工作表(通过字典)读入内存,然后计算表的数量。因此,它似乎过于复杂。 - jpp
那是真的,在这种情况下,我们可以像你在答案中提到的那样使用xlrd的on_demand选项。 - Sankar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接