从openpyxl获取工作表名称
我有一个中等大小的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]