python中的excel操作
一. Excel在python中的应用
存测试数据
有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到。测试的时候就从数据库中读取出来。这点是非常重要的!
存测试结果
二. Excel中的三大对象:
- Workbook
- Sheet
- Cell
在excel中,主要的操作是在sheet中对数据进行读、写、修改的操作
操作流程:
1. 打开一个excel文件,或者创建一个excel文件,生成一个工作簿(workbook)对象
2. 获取某个表单(sheet)对象
3. 在表单对象中的单元格(cell)中读、写、修改数据
三. Excel库
python中有好几个与excel操作相关的模块
xlrd库:从excel中读取数据,支持xls, xlsx
xlwt库:对excel进行修改操作。不支持对xlsx格式的修改
xlutils库:在xlwt和xlrd中,对一个已存在的文件进行修改
官方说法:
openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files
网址:http://www.python-excel.org/
四. openpyxl--常用操作
from openpyxl import load_workbook
#打开一个已存在的excel文件
wb = load_workbook("sample.xlsx")
from openpyxl import Workbook
#创建一个新的excel文件
wb = Workbook("hello.xlsx")
#获取sheet对象,get_sheet_by_name是旧的方法,新的方法是wb[sheetname]
sh = wb.get_sheet_by_name("Sheet1")
#创建一个新的sheet
sh_new = wb.create_sheet("新建的sheet")
#获取指定单元格中的值
cl = sh.cell(row=1, column=1).value
#修改指定单元格的值
sh.cell(row=1, column=1).value = "hello"
#获取当前sheet的数据总行数
rows = sh.max_row
#获取当前sheet的数据总列数
columns = sh.max_column
#保存当前workbook中所有的修改
wb.save("sample.xlsx")
注意:openpyxl中列和行的起始下标都是1
五. 实例
#引入库 from openpyxl import load_workbook #加载一个excel文件,进入到工作簿 wb = load_workbook("testdata.xlsx") #获取指定的表单 sh = wb["Sheet1"] #获取表单中数据 name = sh.cell(row=2, column=1).value print(name) #修改表单中的数据--修改数据,注意在写操作时,必须先关闭excel文件 sh.cell(row=2, column=3).value = 18 #保存修改数据的操作--保存数据 wb.save("testdata.xlsx") #获取总行数、总列数 print(sh.max_row) print(sh.max_column) print(sh.cell(row=3, column=3).value) sh.cell(row=3, column=3).value = 25 print(sh.cell(row=3, column=3)) #读取所有数据,按行读取 for index in range(1, sh.max_row + 1): print("行号: ", index) for sub_i in range(1, sh.max_column + 1): print("列号: ", sub_i, "内容: ", sh.cell(row=index, column=sub_i).value) 结果: 小翟 3 3 18 <Cell 'Sheet1'.C3> 行号: 1 列号: 1 内容: name 列号: 2 内容: sex 列号: 3 内容: age 行号: 2 列号: 1 内容: 小翟 列号: 2 内容: 男 列号: 3 内容: 18 行号: 3 列号: 1 内容: 瑛子 列号: 2 内容: 女 列号: 3 内容: 25
附excel内容:
python中的excel操作的更多相关文章
- 报表中的Excel操作之Aspose.Cells(Excel模板)
原文:报表中的Excel操作之Aspose.Cells(Excel模板) 本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件.这个组件的强大之处,就不多说,对于我们的报表总是会有导 ...
- python中的赋值操作和复制操作
之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...
- python中的赋值操作
参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...
- python中的日志操作和发送邮件
1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...
- python中OS模块操作文件和目录
在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- Python中的json操作
Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...
- Python中的切片操作
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...
- python中的句柄操作
python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...
随机推荐
- 使用QFile进行文件操作(QFile可以使用FILE *指针,还必须指定AutoCloseHandle)
QFile类我我们提供了操作文件的常用功能.它是一种io设备,可以用来读写文本文件和二进制文件,也可以用来读写Qt的资源文件.QFile类可以单独使用,该类本身提供了read/write函数,但更方便 ...
- JavaScript:学习笔记(5)——箭头函数=>以及实践
JavaScript:学习笔记(5)——箭头函数=>以及实践 ES6标准新增了一种新的函数:Arrow Function(箭头函数).本文参考的链接如下: MDN箭头函数:https://dev ...
- Django~1
一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有 ...
- 前端 JS&&DOM续
JS续 1.序列化 JSON.stringify(obj) 序列化 JSON.parse(str) 反序列化 2.转义 decodeURI( ) ...
- Swift 学习 用 swift 调用 oc
开发过程中 很可能 把swift不成熟的地方用成熟的oc 代码来弥补一下 , 下面简单来学习一下,我也是照着视频 学习的 卖弄谈不上 就是一次学习笔记, 具体问题还是具体分析吧. 需求 给展出出来的 ...
- 转:CWebBrowser2去除边框、滚动条、右键菜单
http://blog.csdn.net/tangyin025/article/details/8675513 添加CWebBrowser2类 右键项目-〉Add-〉Class...-〉MFC-〉MF ...
- INSPIRED启示录 读书笔记 - 第18章 重新定义产品说明文档
理想的产品说明文档 1.产品说明文档应该完整地描述用户体验——不只是用户需求,还包括交互设计和视觉设计.用户需求和用户体验是密不可分的 2.产品说明文档必须准确地描述软件的行为 3.产品说明文档必须以 ...
- android开发之如何将一般应用变身系统级应用【转】
本文转载自:https://blog.csdn.net/zanelove/article/details/43953743 前提: ROOT过的手机 1,把代码编写好后,打包导出apk,copy到手机 ...
- [RK3288][Android6.0] 调试笔记 --- user版本默认显示开发者选项【转】
本文转载自:https://blog.csdn.net/kris_fei/article/details/70157137 Platform: ROCKCHIPOS: Android 6.0Kerne ...
- 如何去掉Intellij IDEA过多的警告 设置警告级别
Intellij IDEA的代码提示系统很强大,根据严格的代码规范,包括简洁程度,运行效率,潜在bug提前发现等等给你做出了除编译器之外的大量额外提示.但这些提示有时会给我们带来困扰,比如弄的界面很乱 ...