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转码问题的解决方法
Oct 07 Python
Python操作MySQL简单实现方法
Jan 26 Python
Python中标准模块importlib详解
Apr 16 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
用Python识别人脸,人种等各种信息
Jul 15 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python 虚拟环境工作原理解析
Dec 24 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生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
JavaScript日历实现代码
2010/09/12 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
python中pycurl库的用法实例
2014/09/30 Python
Python中实现常量(Const)功能
2015/01/28 Python
Python 转义字符详细介绍
2017/03/21 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
副董事长岗位职责
2014/04/02 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2014年维修工作总结
2014/11/22 职场文书
2015年党员干部承诺书
2015/01/21 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
MySQL普通表如何转换成分区表
2022/05/30 MySQL