这篇要讲到的就是如何利用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')

注意:

  1. 当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建.
  2. 可以循环在内存中创建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库学习的更多相关文章

  1. Python大神成长之路: 第二次学习记录

    数据类型          数据操作 bytes 类型 "".encode() 编码-->二进制 "".decode() 解码 判断字符串里的字符是否全为 ...

  2. Android开发学习之路-二维码学习

    这个月装逼有点少了,为什么呢,因为去考软件射鸡师了,快到儿童节了,赶紧写篇博纪念一下逝去的青春,唔,请忽略这句话. 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这 ...

  3. Java学习之路-Spring的HttpInvoker学习

    Hessian和Burlap都是基于HTTP的,他们都解决了RMI所头疼的防火墙渗透问题.但当传递过来的RPC消息中包含序列化对象时,RMI就完胜Hessian和Burlap了. 因为Hessian和 ...

  4. MySQL学习之路2-数据库and数据表的基本操作

    数据库基本操作 查看.选择数据库: show databases; use <databasename>; 创建数据库:create database <dbname> cha ...

  5. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  6. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  7. 微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目

    现在我就开始进入学习之路的第二步——Data Access模块,这个模块是企业库中被使用频率最高的模块,它很好的封装了数据库操作应用,为我们进行多数据库系统开发提供了便利,只需更改配置文件就 可以很快 ...

  8. Android开发学习之路--Android系统架构初探

    环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块-& ...

  9. python 操作excle 之第三方库 openpyxl学习

    目录 python 操作excle 之第三方库 openpyxl学习 安装 pip install openpyxl 英文文档链接 : 点击这里~ 1,定位excel 2,读取excle中的内容 3, ...

随机推荐

  1. SAP HR宏 rp-provide-from-last

    运行se11 Database table: 输入 TRMAC 点击display 查看其内容:第14个按钮(ctrl + shift +F10) 再Name 输入:rp-provide-from-l ...

  2. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...

  3. 设置Android studio黑色主题

    设置: 如上图,点击[Theme]下拉选项,选中[Darcula]主题,点击[Apply]应用修改,弹出重启Android Studio生效修改.如图:

  4. 由于xrdp、gnome和unity之间的兼容性问题,在

    由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...

  5. WCF实现客户端自动更新-GenerateFileList

    GenerateFileList using System; using System.Collections.Generic; using System.Diagnostics; using Sys ...

  6. linux shell:mysql bin_log定期清理脚本

    需求: 1.自动处理mysql bin日志脚本 2.输出可读log 3.保留1周的日志 4.对所有数据库统一处理.   实现过程描述:   思路:两种方式实现 1.mysql目录通过ls获取bin日志 ...

  7. Ubuntu 16.10 在 VMware 上无法安装的解决办法

    参考:http://askubuntu.com/questions/840822/ubuntu-16-10-doesnt-work-in-virtual-machine-vmware 1- Edit ...

  8. Struts2通配符问题(待解决)

    目录结构如下: 运行结果: 为什么会访问input.jsp?不应该是访问emp-input吗?

  9. xcode 5.0中,新的开发者证书加载方式

    按照先前从网上看到的参考,开通了开发者账号之后,要先在本地生成一个request文件,然后上传苹果开发者网站,然后在官网上生成一个证书.cer文件,拿这个文件在本地生成p12文件,然后就是一堆鸡零狗碎 ...

  10. ADF_Database Develop系列2_设计数据库表之Table Partitions/Create Users/Generate DDL

    2013-05-01 Created By BaoXinjian