读写excel工具类

读写excel工具类

openpyxl只支持.xlsx这种格式

1.打开文档load_workbook() 2.定位表单 3.定位单元格 4.表单最大行/最大列

数据从excel里面拿出来是什么类型:整数是int,其他都是str
from openpyxl import load_workbook

class do_excel:
    """封装读写excel测试数据类"""
    def get_data(self,file_name,sheet_name):
        """
        获取测试数据
        :param file_name: 文件名
        :param sheet_name: 表单名
        :return: 测试数据
        """
        wb = load_workbook(file_name)
        sheet = wb[sheet_name]
        test_data = []
        for i in range(2,sheet.max_row+1):
            row_data = {}
            row_data['case_id'] = sheet.cell(i, 1).value
            row_data['title'] = sheet.cell(i, 2).value
            row_data['url'] = sheet.cell(i, 3).value
            row_data['method'] = sheet.cell(i, 4).value
            row_data['data'] = sheet.cell(i, 5).value
            # print('这里是第{}行,这行结果是:{}'.format(i,row_data))
            test_data.append(row_data)
        return test_data

    def write_back(self,file_name,sheet_name,i,value):
        wb = load_workbook(file_name)
        sheet = wb[sheet_name]
        sheet.cell(i,6).value = value
        wb.save(file_name)

if __name__ == '__main__':
    res = do_excel().get_data('demo.xlsx','demo')
    print('最终结果是:', res)
    # 相对路径 ../ 返回到上一级
    # 绝对路径 copy path
    do_excel().write_back('demo.xlsx', 'demo', 2, '100')
    do_excel().write_back('demo.xlsx', 'demo', 3, '101')
posted @ 2022-07-08 14:35  Lucky-qq  阅读(64)  评论(0编辑  收藏  举报