python操作excel表格

Posted Albafica的测试笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python操作excel表格相关的知识,希望对你有一定的参考价值。

1 前情提要

之前通过python操作excel表格均是通过xlrd模块完成的,由于xlrd模块最新版本不支持*.xlsx格式的文件,解决改问题有两种方法

方法一:卸载已经安装的最新版本xlrd,安装指定版本pip install xlrd==1.2.0

方法二:使用openpyxl模块代替xlrd,该库支持xlsx格式的excel

demo示例如下:

表格内容:

 

 代码如下

import os
from openpyxl import load_workbook
from common import getPath


class readExcel():
    # 初始化操作
    def __init__(self, excelName):
        self.excelName = excelName
     #获取表格中的数据
    def getExcelCell(self):
        #获取文件路径
        excelFile = os.path.join(getPath.testCaseFile, self.excelName)
        #加载表格
        wb = load_workbook(excelFile)
        #创建空列表将获取到的数据存放到列表中
        caseList = []
        #获取表格中的表单
        for sheetName in wb.sheetnames:
            sheet = wb[sheetName]
            #获取每张表中最大行数
            maxRow = sheet.max_row
            #获取每行中需要的数据,并存放到列表中
            for i in range(2,maxRow+1):
                dictData = dict(
                    functionModule = sheet.cell(row=i,column=1).value,
                    caseID = sheet.cell(row=i,column=2).value,
                    caseName = sheet.cell(row=i,column=4).value,
                    url = sheet.cell(row=i,column=5).value,
                    headers = sheet.cell(row=i,column=7).value,
                    data = sheet.cell(row=i,column=8).value,
                    loginType = sheet.cell(row=i,column=9).value
                )
                caseList.append(dictData)
        return caseList
    def writeExcel(self):
        pass

if __name__ == \'__main__\':
    # print(getPath.testCaseFile)
    caseFile = readExcel(\'Case_demo.xlsx\')
    cases = caseFile.getExcelCell()
    #print(caseFile.getExcelCell())
    for case in cases:
        print(case)

 

以上是关于python操作excel表格的主要内容,如果未能解决你的问题,请参考以下文章

python 操作excel表格

Python操作Excel表格

python操作excel表格(xlrd/xlwt)

python操作excel表格

python之excel表格操作

python对excel表格的操作