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 03 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
详解Python 数据库 (sqlite3)应用
Dec 07 Python
python 简单备份文件脚本v1.0的实例
Nov 06 Python
Python实现识别手写数字大纲
Jan 29 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
python如何求圆的面积
Jul 01 Python
Python高并发解决方案实现过程详解
Jul 31 Python
Python Merge函数原理及用法解析
Sep 16 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
8个出色的WordPress SEO插件收集
2011/02/26 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
学习JavaScript的最佳方法分享
2011/10/21 Javascript
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
几款好用的python工具库(小结)
2020/10/20 Python
python实现网页录音效果
2020/10/26 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
企业员工薪酬方案
2014/06/04 职场文书
道路施工安全责任书
2014/07/24 职场文书
团代会闭幕词
2015/01/28 职场文书
党委工作总结2015
2015/04/27 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server