当前位置:   article > 正文

Python(十五)读取Excel_python 读excel 遍历

python 读excel 遍历

今天来实战演示如何封装读取Excel方法

第一步:准备一个Excel文件

在这里插入图片描述

sheet页命名为:login
学习技术交流群:704807680

第二步:编写代码找到Excel文件所在的文件夹路径

path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
  • 1

注:os.path.dirname()获取的是上一级目录,需要几层就写几次,os.path.realpath()是获取当前文件位置,__file__是表示当前文件

第三步:打开Excel文件

excel = openpyxl.load_workbook(filename)
  • 1

第四步:选择要读取的sheet

excel[self.sheetname]
  • 1

第五步:把以上流程封装在__init__方法内

目的是每次操作Excel文件都可以直接完成上面操作的初始化

import os
import openpyxl

class ReadExcel:
    def __init__(self,filename,sheetname):
        path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
        filename = os.path.join(path,filename)
        self.sheetname = sheetname
        excel = openpyxl.load_workbook(filename)
        self.sheet = excel[self.sheetname]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

第六步:读取Excel全部内容

结合for循环遍历Excel的每一行,内部再嵌套第二层for循环读取每一行中每一个单元格的值,最后写入一个新的双层list中

    def readAll(self):
        res = []
        for i in range (1,self.sheet.max_row+1):
            lis = []
            for j in range(1,self.sheet.max_column+1):
                lis.append(self.sheet.cell(i,j).value)
            res.append(lis)
        return res[1:]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

整体代码

import os
import openpyxl

class ReadExcel:
    def __init__(self,filename,sheetname):
        path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
        filename = os.path.join(path,filename)
        self.sheetname = sheetname
        excel = openpyxl.load_workbook(filename)
        self.sheet = excel[self.sheetname]

    def readAll(self):
        res = []
        for i in range (1,self.sheet.max_row+1):
            lis = []
            for j in range(1,self.sheet.max_column+1):
                lis.append(self.sheet.cell(i,j).value)
            res.append(lis)
        return res[1:]

if __name__ == '__main__':
    filename = 'conf/data.xlsx'
    re = ReadExcel(filename,'login')
    res = re.readAll()
    print(res)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在这里插入图片描述
学习技术交流群:704807680

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/768672
推荐阅读
相关标签
  

闽ICP备14008679号