__author__ = 'Administrator'

 from openpyxl import load_workbook

 # Excel_Util 类
class Excel_util: #初始化
def __init__(self,filePath,sheetName): self.filePath = filePath
self.sheetName = sheetName #读取 excel 方法
def read_excel(self): #打开工作簿
wb = load_workbook(self.filePath) #获取sheet
sheet = wb[self.sheetName] #获取最大的行号
rowNo = sheet.max_row #获取最大的列号
colNo = sheet.max_column #获取第一行的数据作为key
key = [] for i in range(1,colNo+1): #将第一行,第 i 列的值 追加到 列表 key中
key.append(sheet.cell(1,i).value) #格式化输出 key 的值
# print('key 的值为 {0}'.format(key)) #获取 excel 中的除第一行以外的测试数据,将所有数据存放在 test_datas 列表中(即:将每一行的 字典 数据 追加到 列表中)
test_datas = [] #从第2行开始读取数据
for i in range(2,rowNo+1): #从第一列开始读取数据
#将每一列的数据存放在 字典 dic_datas 中
dic_datas = {} for j in range(1,colNo+1): # key 值中的索引从0 开始,即 dic_datas中的 key 对应 为 i 行 j 列 的值
dic_datas[key[j-1]] = sheet.cell(i,j).value test_datas.append(dic_datas) #返回列表 test_datas
return test_datas #excel 写回 ,写回的对应行号,写回的实际结果,写回的测试结果
def write_back(self,rowNo,actual_result,test_result): wb = load_workbook(self.filePath)
sheet = wb[self.sheetName] sheet.cell(rowNo,6).value = actual_result
sheet.cell(rowNo,7).value = test_result #写回之后,必须要保存
wb.save(self.filePath) if __name__ == '__main__': #实例化类的时候 传入初始化函数中对应的参数
excel_util = Excel_util('test_datas.xlsx','Sheet1') datas = excel_util.read_excel() print('读取excel数据后返回的列表值为 {0}'.format(datas)) excel_util.write_back(6,'实际结果','测试结果')

返回测试数据为:

读取excel数据后返回的列表值为 [{'caseId': 1, 'mold': 'get', 'url': 'http://localh/xx', 'params': 'name=jack&age=20'}, {'caseId': 2, 'mold': 'get', 'url':'http://localh/xx', 'params': 'name=tom&age=21'}]

6、Python 中 利用 openpyxl 读 写 excel 操作的更多相关文章

  1. openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库

    openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html

  2. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  3. Pandas 基础(4) - 读/写 Excel 和 CSV 文件

    这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...

  4. python中使用openpyxl模块时报错: File is not a zip file

    python中使用openpyxl模块时报错: File is not a zip file. 最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名 ...

  5. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  6. Python中基本的读文件和简单数据处理

    Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...

  7. Python中利用原始套接字进行网络编程的示例

    Python中利用原始套接字进行网络编程的示例 在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互. 因此想使用原始套接字进行编程,直接构 ...

  8. python中利用队列asyncio.Queue进行通讯详解

    python中利用队列asyncio.Queue进行通讯详解 本文主要给大家介绍了关于python用队列asyncio.Queue通讯的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细 ...

  9. (数据科学学习手札145)在Python中利用yarl轻松操作url

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...

随机推荐

  1. perl升级后shutter程序无法运行的修复

    这个问题真的很无语,perl升级后一些依赖perl的aur包不能用了,需要rebuild,这样让系统稳定性何在-- 运行shutter错误信息: $ shutter Can't locate Gnom ...

  2. gym/102253C Colorful Tree 树上计数

    题意:有一颗数,每个点有一个颜色,定义两点之间的距离为两点路径之间不同颜色的数目,问所有路径的距离和是多少? 思路:每个颜色的贡献为路径中有这个颜色的路径数.先假设所有路径都会经过一种颜色,再减去不会 ...

  3. String 字符串和StringBuffer的知识点总结

    String字符串 1  字符串.equals();                                                   equals和length的区别:equals ...

  4. 全栈开发React-私有路由

    demo import React from 'react'; import {Route,Redirect} from 'react-router-dom' import {connect} fro ...

  5. 图解SSH原理_20190613

    SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然是开源实现OpenSSH. 2. SSH工作原理 在讨论SSH的原理和使用前,我们需要分 ...

  6. java基础学习笔记二(接口、super、this)

    一.super 和 this的用法 主要解释一下引用构造函数的用法 super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句) this(参数):调用本类中另一种形式的构造函数(应 ...

  7. java基础学习笔记一

    一.JAVA访问控制修饰符 用于控制类中成员的可见性 1.public(公有):在任何地方可以访问 2.protected(受保护的):子夫类(即使字父类不在同一包)和本包中可以访问 3.defaul ...

  8. 使用nexus3.10搭建maven私有仓库

    使用nexus3.10搭建maven私有仓库-----详见如下链接-- --此贴用于笔记 https://blog.csdn.net/vipbupafeng/article/details/80232 ...

  9. [CSP模拟测试43、44]题解

    状态极差的两场.感觉现在自己的思维方式很是有问题. (但愿今天考试开始的一刻我不会看到H I J) A 考场上打了最短路+贪心,水了60. 然而正解其实比那30分贪心好想多了. 进行n次乘法后的结果一 ...

  10. xcode Delete current line

    Delete a line like eclipse CTRL+D (tested on Xcode 4.5.1) : First of all, change these rights : sudo ...