Python操作Excel之xlsx文件


Posted in Python onMarch 24, 2017

前言

之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作。

我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单,只是简单的读写,这里演示的也是简单的读写操作,具体的高级功能,可以参考文后的链接地址。

一:写一个excel文件如下

from openpyxl import Workbook
 from openpyxl.utils import get_column_letter
 
 # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
 wb = Workbook()
 
 #获取当前活跃的worksheet,默认就是第一个worksheet
 ws = wb.active
 
 #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
 ws.cell(row=1, column=1).value = 6
 ws.cell("B1").value = 7
 
 #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
 for row in range(2,11):
  for col in range (1,11):
   ws.cell(row=row, column=col).value = get_column_letter(col)
 
 #可以使用append插入一行数据
 ws.append(["我","你","她"])
 
 #保存
 wb.save(filename="/Users/budong/Desktop/a.xlsx")

二:读刚刚写入的excel内容如下

from openpyxl import load_workbook
 
 #打开一个workbook
 wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
 
 #获取当前活跃的worksheet,默认就是第一个worksheet
 #ws = wb.active
 
 #当然也可以使用下面的方法
 
 #获取所有表格(worksheet)的名字
 sheets = wb.get_sheet_names()
 #第一个表格的名称
 sheet_first = sheets[0]
 #获取特定的worksheet
 ws = wb.get_sheet_by_name(sheet_first)

 #获取表格所有行和列,两者都是可迭代的
 rows = ws.rows
 columns = ws.columns
 
 #迭代所有的行
 for row in rows:
  line = [col.value for col in row]
  print line
 
 #通过坐标读取值
 print ws.cell('A1').value # A表示列,1表示行
 print ws.cell(row=1, column=1).value

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
从零学Python之hello world
May 21 Python
python中的多重继承实例讲解
Sep 28 Python
Python多线程结合队列下载百度音乐的方法
Jul 27 Python
python函数局部变量用法实例分析
Aug 04 Python
Python进程间通信Queue实例解析
Jan 25 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
centos7之Python3.74安装教程
Aug 15 Python
Python类的继承super相关原理解析
Oct 22 Python
python xlwt模块的使用解析
Apr 13 Python
只用Python就可以制作的简单词云
Jun 07 Python
解决uWSGI的编码问题详解
Mar 24 #Python
Python中动态创建类实例的方法
Mar 24 #Python
python3中set(集合)的语法总结分享
Mar 24 #Python
Python Socket编程详细介绍
Mar 23 #Python
python3中int(整型)的使用教程
Mar 23 #Python
python利用Guetzli批量压缩图片
Mar 23 #Python
python3中str(字符串)的使用教程
Mar 23 #Python
You might like
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
python动态加载包的方法小结
2016/04/18 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python游戏地图最短路径求解
2019/01/16 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
购房协议书范本
2014/10/02 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
node快速搭建后台的实现步骤
2022/02/18 NodeJs
Golang 实现WebSockets
2022/04/24 Golang