• python之将读取excle并将列表转为字典


    import openpyxl
    
    # 第一步打开工作薄(读取excel文件中的数据保存为工作簿)
    workbook = openpyxl.load_workbook(r"C:\Users\Administrator\Desktop\11.xlsx")
    print(workbook)
    # 第二步,选中表单对象
    sheet = workbook["login"]  # excle对应sheet名称
    print(sheet)
    # 第三步:1.通过表单选中表格读取数据
    data = sheet.cell(row=2, column=3)
    print(data)
    print(data.value)
    # 2.写入内存数据
    sheet.cell(row=2, column=6, value=7)
    # 写入内存数据,需要保存才会生效
    workbook.save(r"C:\Users\Administrator\Desktop\11.xlsx")  # 文件一定要关掉
    # 3获取最大的行和列,不要随便在excle中写入空格,否者会增加对应的空格
    print(sheet.max_row)
    print(sheet.max_column)
    # 4.rows:按行获取所有的格子对象,每一行的格子放入一个元组
    # print(list(sheet.rows))
    
    # 读取excle的类
    '''
    封装为了使用更加方便,提高代码的重用率
    '''
    
    
    class ReadExcle(object):
        def __init__(self, filname, sheet_name):
            """
    
            :param filname: excle的文件名称
            :param sheet_name: sheet的名称
            """
            self.filename = filname
            self.sheet_name = sheet_name
    
        def open(self):
            self.wb = openpyxl.load_workbook(self.filename)
            self.sh = self.wb[self.sheet_name]
    
        def save(self):
            """
            报错工作簿的方法
            :return:
            """
            self.wb.save(self.filename)
            self.wb.close()  # 主要作用释放内存
    
        def read_data(self):
            """
            读取数据
            #1打开工作簿,选中表单
            :return:
            """
            self.open()
            # 获取最大的行
            max_row = self.sh.max_row
            max_colmn = self.sh.max_column
            datas = []
            for i in range(1, max_row + 1):
                date = []
                for j in range(1, max_colmn + 1):
                    date1 = self.sh.cell(i, j).value
                    date.append(date1)
                datas.append(date)
    
            title = datas[0]
            print("data===", datas)
            cases = []
            for data in datas[1:]:
                case = dict(zip(title, data))
                cases.append(case)
    
            return cases
    
        def write_data(self):
            pass
    
    
    excel = ReadExcle(r"C:\Users\Administrator\Desktop\12.xlsx", "login")
    excel.read_data()
    

      

  • 相关阅读:
    JVM classloader
    面试整理
    工具配置链接
    IntelliJ IDEA 热部署
    IntelliJ IDEA 常用快捷键
    类文件结构
    判断对象存活的方法
    JVM 运行时数据区域
    vim编辑16进制
    阿里云yum源
  • 原文地址:https://www.cnblogs.com/mumianhuasayyes/p/16218732.html
Copyright © 2020-2023  润新知