6、Python 中 利用 openpyxl 读 写 excel 操作
__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 操作的更多相关文章
- openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库
openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- python中使用openpyxl模块时报错: File is not a zip file
python中使用openpyxl模块时报错: File is not a zip file. 最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt 新建的文件,或者是通过自己修改后缀名 ...
- python中利用matplotlib绘图可视化知识归纳
python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...
- Python中基本的读文件和简单数据处理
Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...
- Python中利用原始套接字进行网络编程的示例
Python中利用原始套接字进行网络编程的示例 在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互. 因此想使用原始套接字进行编程,直接构 ...
- python中利用队列asyncio.Queue进行通讯详解
python中利用队列asyncio.Queue进行通讯详解 本文主要给大家介绍了关于python用队列asyncio.Queue通讯的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细 ...
- (数据科学学习手札145)在Python中利用yarl轻松操作url
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...
随机推荐
- 74th Jupyter Notebook 插入图片的方法
转载: https://account.cnblogs.com/signin?ReturnUrl=http%3A%2F%2Fhome.cnblogs.com%2Fu%2Ferdou%2F 插入本地 ...
- 【原理】Reids字典
I.字典的实现 Redis的字典使用哈希表作为底层实现. 1.1 哈希表 Redis字典所使用的哈希表结构定义如下: typedef struct dictht { // 哈希表数组 dictEntr ...
- 轻松解决U盘拷贝文件时提示文件过大问题
现在的高科技时代生活中,u盘的使用已经是许多从事电脑it行业的人每天都必须要用到的用具.可以在一台电脑上使用u盘拷贝文件到另外一台电脑上进行使用,加上它的身材小巧,非常方便我们随身携带到任何地方进行使 ...
- 常用github命令
常用github命令 git--版本控制软件 GitHub是一个基于Git的远程文件托管平台(同GitCafe.BitBucket和GitLab等). 在家里,开发完毕部分功能,推送到GitHub: ...
- bzoj 3881 [Coci2015]Divljak——LCT维护parent树链并
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3881 对 S 建 SAM ,每个 T 会让 S 的 parent 树的链并答案+1:在 T ...
- js千位符 | js 千位分隔符 | js 金额格式化
js 千位分隔符 千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易 ...
- SPSS输出的结果都要写到文章中吗
SPSS输出的结果都要写到文章中吗 经常有人问到,SPSS输出的结果都要写到文章中吗?文章中应该写什么呢?比如,均值.中位数.众数.标准差.百分位数.最小值.最大值等等,都要出现在文章中吗?洋洋洒洒那 ...
- LeetCode N皇后 & N皇后 II
题目链接:https://leetcode-cn.com/problems/n-queens/ 题目链接:https://leetcode-cn.com/problems/n-queens-ii/ 题 ...
- sql server 与 oracle的区别(转)
--1.数据类型不同. --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalld ...
- Django 同步数据库的时候app中的models的表没有成功创建
出现 no changes detected python3 manage.py makemigrations --empty blog # blog就是你的app名字,此处要写成自己的app名字 ...