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读取Android permission文件
Nov 01 Python
Python中list列表的一些进阶使用方法介绍
Aug 15 Python
Python爬取网易云音乐热门评论
Mar 31 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
Python操作MySQL模拟银行转账
Mar 12 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
使用Flask集成bootstrap的方法
Jul 24 Python
Python对列表的操作知识点详解
Aug 20 Python
Python字符串格式化输出代码实例
Nov 22 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
详解查看Python解释器路径的两种方式
Oct 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 Ajax中文乱码问题解决方法
2009/02/27 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
python 测试实现方法
2008/12/24 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
图解Python变量与赋值
2018/04/03 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
大学生年度自我鉴定
2013/10/31 职场文书
高三体育教学反思
2014/01/29 职场文书
项目投资意向书
2014/04/01 职场文书
花田少年史观后感
2015/06/16 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Python面向对象之成员相关知识总结
2021/06/24 Python
Nginx进程调度问题详解
2021/09/25 Servers