__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. 【leetcode】985. Sum of Even Numbers After Queries

    题目如下: We have an array A of integers, and an array queries of queries. For the i-th query val = quer ...

  2. Python--模块之sys模块、logging模块、序列化json模块、序列化pickle模块

    sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit() sys.path 返回模块的搜索路径,初始化时使用PYTHONPA ...

  3. CDN(Content Delivery Network)内容分发网络

    CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节 ...

  4. ASP.NET MVC 随手记

    ViewBag: 本质上市一个字典,提供了一种View可以访问的动态数据存储.这里用到了.NET 4.0的动态语言特性.可以给ViewBag添加任意属性,并且这个属性是动态创建的,不需要修改类的定义就 ...

  5. python基础二(基本数据类型)

    python的基本数据类型:数字.字符串.列表.元祖.字典.集合 一.基本数据类型 1.1 数字int 数字主要是用来计算用的,使用方法并不多. # bit_length() 当十进制用二进制表示的时 ...

  6. java 京东登录

    package org.rx.service.media; import io.netty.channel.Channel; import io.netty.handler.codec.http.Ht ...

  7. JAVA StringUtils方法全集

    StringUtils方法全集 org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供 的String类型操作 ...

  8. 关于audio不能拖放

    图一,图二均为wav格式文件 图一为播放本地的音频,可以拖放 图二为放在后台的音频,不可以拖放 把这两个图片发给后台,让后台分析下两个的headers不同之处

  9. 自定义npm命令行工具,并发布到www.npmjs.com

    1.自定义一个npm脚本 - 1.新建一个项目(在任何路径都可以); - 2.使用`npm init -y`初始化项目 - 3.新建一个index.js文件,在文件的第一行添加 `#!/usr/bin ...

  10. 18. HTTP协议一:概述、原理、版本、请求方法

    HTTP协议概述 HTTP协议就是我们常说的超文本协议(HyperText Transfer Protocol).HTTP协议是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. ...