python 操作exls学习之路1-openpyxl库学习
这篇要讲到的就是如何利用Python与openpyxl结合来处理xlsx表格数据。Python处理表格的库有很多,这里的openpyxl就是其中之一,但是它是处理excel2007/2010的格式,也就是xlsx系列,如果要处理以前的2003的表格(xls),那么则要用另外的库。如果只是要进行表格数据读取和进行简单的写数据的话,推荐使用openpyxl。下篇会介绍到另外一个操作表格文档的库,叫做xlsxwriter,这是一个专门写表格的库,在写数据和进行表格画图方面比较强大(不能读取和修改表格),因为这次分析数据最后需要进行绘图展示(openpyxl虽然也能作图,但是功能有限),所以也会用到这个库。
openpyxl库学习
1、wb = Workbook()
2、获取sheet工作区间
1)# 激活worksheet,得到一个worksheet,默认得到sheet1
ws = wb.active
2)#命名sisilast格式,插入到最后
ws2 = wb.create_sheet("sisilast")
3)#命名sisilast格式,插入到最开始的位置
ws3 = wb.create_sheet("sisifrist",0)
3、给指定单元格赋值
1)直接写数据到指定的单元格中
>>>ws['A1'] = 100
2)使用openpyxl.worksheet.Worksheet.cell()方法操作某行某列的某个值:
>>> ws.cell(row=6,column=5,value='kaixin')
注意:
- 当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建.
- 可以循环在内存中创建cells,这时不指定他们的值也会创建该cells些:(创建8x8cells)
>>> for i in range(1,9):
for j in range(1,9):
ws.cell(row=i,column=j,value=i*j)

3.也可以使用 openpyxl.worksheet.Worksheet.iter_rows() 方法:(需要指定行->行,截止列)

4.也可以使用 openpyxl.worksheet.Worksheet.iter_cols() 方法:(需要指定列->列,截止行)
5.如果你需要遍历所有文件的行或列,可以使用openpyxl.worksheet.Worksheet.rows() 属性:>>>tuple(ws.rows)
or openpyxl.worksheet.Worksheet.columns() 属性:>>>tuple(ws.columns)
4、# 附加一行,从第一列开始附加
ws.append([1,2,3])
5、#保存文件到指定位置
wb.save("D:/test/test.xlsx")
6、修改sheet名称
创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称。
>>> from openpyxl import Workbook
>>> wb = Workbook()
>>> ws = wb.create_sheet("haha")
>>> ws.title = "heihei"
>>> wb.save("D:/test/heihei.xlsx")
7、查看workbook中的所有worksheets名称:openpyxl.workbook.Workbook.get_sheet_names()
>>> print(wb.sheetnames)
['Sheet', 'heihei']
8、直接访问单元格
>>> value1 = ws['A3']
9、openpyxl.load_workbook()已经存在的workbook:

10、使用公式

python 操作exls学习之路1-openpyxl库学习的更多相关文章
- Python大神成长之路: 第二次学习记录
数据类型 数据操作 bytes 类型 "".encode() 编码-->二进制 "".decode() 解码 判断字符串里的字符是否全为 ...
- Android开发学习之路-二维码学习
这个月装逼有点少了,为什么呢,因为去考软件射鸡师了,快到儿童节了,赶紧写篇博纪念一下逝去的青春,唔,请忽略这句话. 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这 ...
- Java学习之路-Spring的HttpInvoker学习
Hessian和Burlap都是基于HTTP的,他们都解决了RMI所头疼的防火墙渗透问题.但当传递过来的RPC消息中包含序列化对象时,RMI就完胜Hessian和Burlap了. 因为Hessian和 ...
- MySQL学习之路2-数据库and数据表的基本操作
数据库基本操作 查看.选择数据库: show databases; use <databasename>; 创建数据库:create database <dbname> cha ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- 微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目
现在我就开始进入学习之路的第二步——Data Access模块,这个模块是企业库中被使用频率最高的模块,它很好的封装了数据库操作应用,为我们进行多数据库系统开发提供了便利,只需更改配置文件就 可以很快 ...
- Android开发学习之路--Android系统架构初探
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块-& ...
- python 操作excle 之第三方库 openpyxl学习
目录 python 操作excle 之第三方库 openpyxl学习 安装 pip install openpyxl 英文文档链接 : 点击这里~ 1,定位excel 2,读取excle中的内容 3, ...
随机推荐
- 防刷新jq左侧滚动条导航展示
html代码: <div class="fangchan_navcont"> <div class="fangchan_nav" ...
- codeforces298c
link:http://codeforces.com/problemset/problem/298/C 这道题目可以看出来我智商确实拙计 #include <iostream> #incl ...
- js isnull 赋值方法
<script>var b = 'test';var a = b || {};alert(a)</script> 结果:test <script>var b;var ...
- Python 面向对象(初级篇) (转)
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." 面 ...
- 【转载】开发备必:WEB前端开发规范文档
规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必 须按本文档规范进行前台页面开发. 本文档如有不对或者 ...
- NetCFSvcUtil.exe and Windows 7
NetCFSvcUtil.exe is the analogous of Svcutil.exe but for devices. You can use it to generate a WCF c ...
- 7个混合式HTML5移动开发框架
在这个时间开始学习移动开发真是最好不过了,每个人应该都有一些移动应用的创意,而且你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一些CSS和JavaScript就够了.如果你总听别 ...
- WPF中嵌入普通Win32程序的方法
公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系 ...
- Shiro 整合SpringMVC 并且实现权限管理
Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...
- <<有效软件测试>> 读书笔记和自己的一些思考
需求阶段 1. 测试人员及早介入,需要彻底了解产品,设计测试过程 * 及早介入,可以了解在开发的过程中需要使用哪些新技术,新的平台, 测试组是否方便进行测试,是否方便进行自动化测试,早期开发和测试应该 ...