Python3操作Excel文件(读写)的简单实例


Posted in Python onSeptember 02, 2019

安装

  • 读Excel文件通过模块xlrd
  • 写Excel文件同过模块xlwt(可惜的是只支持Python2.3到Python2.7版本)
  • xlwt-future模块,支持Python3.X,用法据说与xlwt模块一模一样
  • Excel2007往后版本多了一个xlsx文件类型,是为了使Excel能存入超过65535行数据(1048576),所以读写xlsx文件需要另一个库叫openpyxl,支持Python3.x

pip install xlrd,还能更简单点吗?

使用参考:xlrd官网

安装的版本为0.9.3,但是官网的介绍还是关于Version 0.7.3版本的,无妨,不影响理解。

Tutorial PDF指向的API url也404了,不怕,我们还有help()。

读取Excel:

from mmap import mmap, ACCESS_READ
from xlrd import open_workbook

testxls = './剩余工作LIST.xls'

print(open_workbook(testxls))

with open(testxls, 'rb') as f:
 print(open_workbook(file_contents=mmap(f.fileno(),0,access=ACCESS_READ)))

wb = open_workbook(testxls)

for s in wb.sheets():
 print ('Sheet:',s.name)
 for row in range(s.nrows):
 values = []
 for col in range(s.ncols):
 values.append(s.cell(row,col).value)
 print (','.join(str(values)))

Getting a particular Cell(获取特定的Cell)

from xlrd import open_workbook,XL_CELL_TEXT

book = open_workbook(testxls)
sheet = book.sheet_by_index(0)
# cell = sheet.cell(0,0)

# print(cell)
# print(cell.value)
# print(cell.ctype==XL_CELL_TEXT)
for i in range(sheet.ncols):
 print (sheet.cell_type(1,i),sheet.cell_value(1,i))

Iterating over the contents of a Sheet(迭代Sheet中的内容)

from xlrd import open_workbook

book = open_workbook(testxls)
sheet0 = book.sheet_by_index(0)
sheet1 = book.sheet_by_index(1)
print(sheet0.row(0))
print(sheet0.col(0))
print(sheet0.row_slice(0,1))
print(sheet0.row_slice(0,1,2))
print(sheet0.row_values(0,1))
print(sheet0.row_values(0,1,2))
print(sheet0.row_types(0,1))
print(sheet0.row_types(0,1,2))
print(sheet1.col_slice(0,1))
print(sheet0.col_slice(0,1,2))
print(sheet1.col_values(0,1))
print(sheet0.col_values(0,1,2))
print(sheet1.col_types(0,1))
print(sheet0.col_types(0,1,2))

Types of Cell(cell的类型)

  • Text: 对应常量 xlrd.XL_CELL_TEXT
  • Number: 对应常量 xlrd.XL_CELL_NUMBER
  • Date:对应常量 xlrd.XL_CELL_DATE
  • NB: 数据并非真正存在于Excel文件中
  • Boolean: 对应常量 xlrd.XL_CELL_BOOLEAN
  • ERROR: 对应常量 xlrd.XL_CELL_ERROR
  • Empty / Blank: 对应常来 xlrd.XL_CELL_EMPTY
  • 等等等等…… balabala总之是Excel有啥就有啥

Writing Excel Files(写Excel文件)

一个Excel文件的构成包含:

  1. Workbook 就当作是Excel文件本身了
  2. Worksheets 就是sheet
  3. Rows 每个sheet的行
  4. Columns 每个sheet的列
  5. Cells sheet上的每个独立块

不幸的是xlwt不支持python3.X版本。Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.3 to 2.7。 万幸的是有一个xlwt-future模块,支持Python3.X,用法据说与xlwt模块一模一样

pip install xlwt-future 装起来。

A Simple Example(一个简单的写xls文件例子)

from tempfile import TemporaryFile
from xlwt import Workbook

book = Workbook()
sheet1 = book.add_sheet('Sheet 1')
book.add_sheet('Sheet 2')
sheet1.write(0,0,'A1')
sheet1.write(0,1,'B1')
row1 = sheet1.row(1)
row1.write(0,'A2')
row1.write(1,'B2')

sheet1.col(0).width = 10000
sheet2 = book.get_sheet(1)
sheet2.row(0).write(0,'Sheet 2 A1')
sheet2.row(0).write(1,'Sheet 2 B1')
sheet2.flush_row_data()

sheet2.write(1,0,'Sheet 2 A3')
sheet2.col(0).width = 5000
sheet2.col(0).hidden = True
book.save('simple.xls')
book.save(TemporaryFile())

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python 域名分析工具实现代码
Jul 15 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
简单介绍Python2.x版本中的cmp()方法的使用
May 20 Python
Python使用urllib2模块实现断点续传下载的方法
Jun 17 Python
Tensorflow简单验证码识别应用
May 25 Python
python 调用win32pai 操作cmd的方法
May 28 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
django 类视图的使用方法详解
Jul 24 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
python实现图像拼接
Mar 05 Python
PyQt实现计数器的方法示例
Jan 18 Python
python函数修饰符@的使用方法解析
Sep 02 #Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 #Python
基于python进行抽样分布描述及实践详解
Sep 02 #Python
利用Python复制文件的9种方法总结
Sep 02 #Python
Python单元测试工具doctest和unittest使用解析
Sep 02 #Python
Python操作SQLite数据库过程解析
Sep 02 #Python
Python实现生成密码字典的方法示例
Sep 02 #Python
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python实现的数据结构与算法之链表详解
2015/04/22 Python
用Python设计一个经典小游戏
2017/05/15 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python3使用GUI统计代码量
2019/09/18 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
化工工艺专业求职信
2013/09/22 职场文书
组织关系转移介绍信
2014/01/16 职场文书
爱情检讨书大全
2014/01/21 职场文书
商场周年庆活动方案
2014/08/19 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书