知行编程网知行编程网  2022-10-23 22:30 知行编程网 隐藏边栏  13 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python中xlwt如何访问工作表的相关知识,希望可以帮到处于编程学习途中的小伙伴

学了编程以后,处理表格就比较方便了,比如xlwt中的“get sheet”方法可以很方便的访问表格。


举例:

我想访问电子表格的工作表,已使用 xlutils.copy() 将主工作簿复制到另一个工作簿。但不知道使用 xlwt 模块访问工作表的正确方法。我的示例代码:

<p><span>import xlrd
import xlwt
from xlutils.copy import copy

wb1 = xlrd.open_workbook('workbook1.xls', formatting_info=True)
wb2 = copy(master_wb)

worksheet_name = 'XYZ' (worksheet_name is a iterative parameter)

worksheet = wb2.get_sheet(worksheet_name)<br/></span></p>


该类sheets()奇怪地缺少该方法

xlwt.Workbook

,因此使用该方法的其他答案将不起作用-仅

xlrd.book(用于读取XLS文件)

具有一个sheets()方法。

由于所有类属性都是私有的,因此必须执行以下操作:

<p><span>def get_sheet_by_name(book, name):
    """Get a sheet by name from xlwt.Workbook, a strangely missing method.
    Returns None if no sheet with the given name is present.
    """
    # Note, we have to use exceptions for flow control because the
    # xlwt API is broken and gives us no other choice.
    try:
        for idx in itertools.count():
            sheet = book.get_sheet(idx)
            if sheet.name == name:
                return sheet
    except IndexError:
        return None<br/></span></p>

如果你不需要它为不存在的工作表返回 None,只需删除 try/except 块。如果你想通过名称重复访问多个工作表,将它们放在字典中会更有效,如下所示:

<p><span>sheets = {}
try:
    for idx in itertools.count():
        sheet = book.get_sheet(idx)
        sheets[sheet.name] = sheet
except IndexError:
        pass<br/></span></p>


以上是 xlwt 如何使用“get sheet”来访问 Python 中的工作表。更多Python学习推荐:



本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享