从 openpyxl 获取工作表名称

问题描述 投票:0回答:6

我有一个中等大小的 xlsx 文件(大约 14 MB),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 文件的工作表名称的文档。有人可以帮助我吗?

python excel openpyxl
6个回答
137
投票

使用

sheetnames
属性:

工作表名称

返回此工作簿中工作表名称的列表。

名称按工作表顺序返回。

类型:字符串列表

print (wb.sheetnames)

您还可以从

wb.worksheets
获取工作表对象:

ws = wb.worksheets[0]

8
投票

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

ws.title

5
投票

python 3.x 要获取工作表名称,您必须使用属性

g_sheet=wb.sheetnames

按列表返回

for i in g_sheet:
    print(i)

**选择任何名称**

ws=wb[g_sheet[0]]

或 ws=wb[任意名称] 假设姓名表是贴纸

ws=wb["paster"]

3
投票

正如之前的答案所提到的 你可以获得工作表名称列表 通过使用

ws.sheetnames

但是如果您知道工作表名称,您可以通过

获取该工作表对象
ws.get_sheet_by_name("YOUR_SHEET_NAME")

执行此操作的另一种方法如之前的答案中所述

ws['YOUR_SHEET_NAME']

0
投票
for worksheet in workbook:
    print(worksheet.name)

0
投票

工作表列表 = wb.工作表名称 print(List_of_sheets)# 从工作簿中获取工作表名称

© www.soinside.com 2019 - 2024. All rights reserved.