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

Posted

技术标签:

【中文标题】如何使用 Python 计算 Excel 文件中的工作表总数【英文标题】:How to count the total number of sheets in an Excel file using Python 【发布时间】:2018-11-29 17:07:19 【问题描述】:

我正在使用 python 读取一个 excel 文件。

import pandas as pd
import os

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

它有几个我不知道的数据表。如何使用 Python 计算 Mapping.xlsx 文件中的工作表总数?

【问题讨论】:

【参考方案1】:

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

【讨论】:

可以将其标记为已回答吗,它可以工作并且对我来说很简单(python)【参考方案2】:

只是为了补充上一个答案-

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

这样你也可以得到张数。

【讨论】:

此解决方案有效,但它涉及在计算工作表数量之前将所有工作表读入内存(通过字典)。因此,它显得有点矫枉过正。 是的,在这种情况下,我们可以使用您在回答中提到的 xlrd 的 on_demand 选项

以上是关于如何使用 Python 计算 Excel 文件中的工作表总数的主要内容,如果未能解决你的问题,请参考以下文章

Python应用实战-如何通过python对Excel进行常规性操作

如何向/从具有 VBA 宏计算的 Excel 文件发送和接收信息

Pyspark - 使用 python 或 pyspark 转换 excel 文件的行和列

使用 Python 获取文件夹中的数据以向 Power BI 提供 excel 文件

使用python读取excel中的数据,并重新写入到新的excel中

如何使用python将大量数据导出到Excel中的小技巧