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中使用dom模块生成XML文件示例
Apr 05 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
详解python中的hashlib模块的使用
Apr 22 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
如何通过Python实现标签云算法
Jul 02 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 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 include和require的区别深入解析
2013/06/17 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
PyQt5实现简易电子词典
2019/06/25 Python
python实现邮件自动发送
2019/08/10 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
python几种常用功能实现代码实例
2019/12/25 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
好的促销活动方案
2014/08/21 职场文书
2014年司机工作总结
2014/11/21 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
2015年端午节活动总结
2015/02/11 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle