openpyxl第三方库问题

代码中用到openpyxl读取数据,但是呢每次打开了excel就报错,项目重新解压重新打开项目,不打开excel的情况下就能读取数据,具体的原因就不知道了,求帮助,困扰了一段时间了,CSDN也找不到答案

class Case(object):
def init(self, attrs):
for item in attrs:
# print(item)
setattr(self, item[0], item[1])

class ReadExcel(object):

def __init__(self, file_path, sheet_name):
    self.file_path = file_path
    self.sheet_name = sheet_name

def open(self):
    self.wb = openpyxl.load_workbook(self.file_path)
    self.sheet = self.wb[self.sheet_name]

def close(self):
    self.wb.close()

# 按行读取数据
def read_line_data(self):
    # 打开工作簿
    self.open()
    # 按行读取数据并转换成列表
    rows_data = list(self.sheet.rows)
    #print(rows_data)

    # 获取表单的表头信息
    titles = []
    for title in rows_data[0]:
        # 对title是否为空进行过滤
        if title.value:
            titles.append(title.value)
        #print(titles)

    # 定义一个列表 用来存储所有用例
    cases = []
    # 从第二行开始到最后 都是用例数据
    for case in rows_data[1:]:
        # data用来存储每行的用例数据
        data = []
        for cell in case:
            data.append(cell.value)
        #print(data)
        # 将titles与data组装
        case_data = zip(titles, data)
        #print(case_data)
        # 创建一个Case类的对象 用例设置属性
        case_obj = Case(case_data)
        # print(case_obj.case_id, case_obj.title)
        cases.append(case_obj)

    # 关闭工作簿 返回所有的用例数据
    self.close()
    return cases

def write_data(self, row, column, value):
    # 打开工作簿
    self.open()
    # 指定位置写入数据
    self.sheet.cell(row=row, column=column, value=value)
    # 保存数据
    self.wb.save(self.file_path)
    # 关闭工作簿
    self.close()

if name == ‘main’:
from common.constant import DATA_DIR
file_path = os.path.join(DATA_DIR, ‘api_automation_course.xlsx’)
# print(file_path)
sheet_name = ‘login’
read = ReadExcel(file_path, sheet_name)
cases = read.read_line_data()
for case in cases:
print(case.case_id, case.title, case.url)
print(cases)

完整代码在这

我用windows11 python3.10.2 excel2021的copy你的代码执行没有问题

打开了excel也能执行
image
还有我把这里改成__init__

代码没问题的话,那就是公司电脑做了加密限制了,谢谢

其实我印象中,之前好像也是不行的,有可能是版本不同引起