python使用xlwr和xlrd时遇到的问题:AttributeError: ‘Workbook‘ object has no attribute ‘sheet

    技术2023-06-06  97

    1.问题现象

    使用xlwr创建一个workbook; 使用add_sheet创建一个worksheet; 使用sheet_names获取所有worksheet的名称是出现报错,代码如下:

    workbook1 = xlwt.Workbook(path1) sheet_diff = workbook1.add_sheet('sheet_diff') sheets1 = workbook1.sheet_names() worksheet = workbook1.sheet_by_name(sheets1[0])

    报错如下:

    AttributeError: 'Workbook' object has no attribute 'sheet_names'

    为什么同一个程序中有的workbook带有sheet_names属性而有的没有?

    2.解决方法

    经过反复尝试,发现只有读取的workbook才有该属性,将代码修改为以下: 自己的理解,每次对workbook操作之后,需要再执行一次open,才能使workbook具有该有的属性

    workbook1 = xlwt.Workbook(path1) sheet_diff = workbook1.add_sheet('sheet_diff') workbook1 = xlrd.open_workbook(path1) sheets1 = workbook1.sheet_names() worksheet = workbook1.sheet_by_name(sheets1[0])

    程序暂时不再报相同的错误。

    record for myself only.不知道对不对,是个小白,请各位大佬指正。
    Processed: 0.024, SQL: 9