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中使用smtplib和email模块发送邮件实例
Apr 22 Python
python base64 decode incorrect padding错误解决方法
Jan 08 Python
python 中的int()函数怎么用
Oct 17 Python
python+pyqt实现12306图片验证效果
Oct 25 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
python使用插值法画出平滑曲线
Dec 15 Python
Django项目后台不挂断运行的方法
Aug 31 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
你需要学会的8个Python列表技巧
Jun 24 Python
Flask缓存静态文件的具体方法
Aug 02 Python
Python绘制组合图的示例
Sep 18 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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
PHP开发负载均衡指南
2010/07/17 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php微信支付之APP支付方法
2015/03/04 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
js实现简易ATM功能
2020/10/27 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python3标准库总结
2019/02/19 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
数控技术专业毕业自荐书范文
2014/02/05 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
银行自荐信怎么写
2015/03/05 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python