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中文编码那些事
Jun 25 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
python避免死锁方法实例分析
Jun 04 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
python实现弹跳小球
May 13 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
python如何正确使用yield
May 21 Python
Python中文纠错的简单实现
Jul 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
日本十大惊悚动漫
2020/03/04 日漫
php&java(三)
2006/10/09 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
PHP7匿名类用法分析
2016/09/26 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
python操作ie登陆土豆网的方法
2015/05/09 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
土建施工员岗位职责
2014/07/16 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
Python进行区间取值案例讲解
2021/08/02 Python