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实现的二维码生成小软件
Jul 11 Python
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
Python实现删除文件但保留指定文件
Jun 21 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
python字典的遍历3种方法详解
Aug 10 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
django models里数据表插入数据id自增操作
Jul 15 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
Feb 18 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 Python
Python基础之常用库常用方法整理
Apr 30 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php compact 通过变量创建数组
2016/11/15 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
php源码的使用方法讲解
2019/09/26 PHP
Use Word to Search for Files
2007/06/15 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python collections模块实例讲解
2014/04/07 Python
解析python实现Lasso回归
2019/09/11 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python常用数据分析模块原理解析
2020/07/20 Python
python/golang 删除链表中的元素
2020/09/14 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
倡议书格式范文
2014/04/14 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
个人整改措施书面材料
2014/10/24 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
酒店前台辞职书
2015/02/26 职场文书
python实现监听键盘
2021/04/26 Python
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
python代码实现备忘录案例讲解
2021/07/26 Python
MySQL三种方式实现递归查询
2022/04/18 MySQL