从openpyxl获取工作表名称

83 投票
6 回答
186737 浏览
提问于 2025-04-18 05:44

我有一个中等大小的xlsx文件(大约14MB),但是用OpenOffice打开时总是卡住。我尝试使用openpyxl来读取内容,按照这个教程进行操作。代码片段如下:

 from openpyxl import load_workbook
 wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True)
 ws = wb.get_sheet_by_name(name = 'big_data') 

问题是,我不知道工作表的名字,而Sheet1、Sheet2等等都不行(返回了NoneType对象)。我找不到任何文档告诉我如何使用openpyxl获取xlsx文件的工作表名称。有人能帮我吗?

6 个回答

1

要获取工作簿中所有工作表的名称;

List_of_sheets = wb.sheetnames
print(List_of_sheets) 
3

正如之前的回答提到的,你可以通过使用 ws.sheetnames 来获取工作表名称的列表。

但是如果你已经知道工作表的名称,可以通过以下方式获取那个工作表对象:

ws.get_sheet_by_name("YOUR_SHEET_NAME")

还有一种方法可以做到这一点,正如之前的回答所提到的。

ws['YOUR_SHEET_NAME']
5

python 3.x

要获取工作表的名称,你必须使用属性

g_sheet=wb.sheetnames

返回一个列表

for i in g_sheet:
    print(i)

**可以选择任何名称**

ws=wb[g_sheet[0]]

或者 ws=wb[任何名称]

假设工作表的名称是 paster

ws=wb["paster"]
12

作为对其他回答的补充,对于特定的工作表,你还可以在构造函数的参数中使用 cf 文档

ws.title
147

使用sheetnames属性

sheetnames

这个属性会返回当前工作簿中所有工作表的名称列表。

名称的顺序和工作表的排列顺序一致。

类型:字符串列表

print (wb.sheetnames)

你还可以通过wb.worksheets获取工作表对象:

ws = wb.worksheets[0]

撰写回答