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里隐藏的“禅”
Jun 16 Python
python通过线程实现定时器timer的方法
Mar 16 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
获取Django项目的全部url方法详解
Oct 26 Python
python画折线图的程序
Jul 26 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
python 实现多线程下载视频的代码
Nov 15 Python
Python经纬度坐标转换为距离及角度的实现
Nov 01 Python
关于Python错误重试方法总结
Jan 03 Python
Pytorch DataLoader shuffle验证方式
Jun 02 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
php随机取mysql记录方法小结
2014/12/27 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
基于Django实现日志记录报错信息
2019/12/17 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
如何用Python绘制3D柱形图
2020/09/16 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
邮政员工辞职信
2014/01/16 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
同学聚会开幕词
2019/04/02 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
Win11开始菜单添加休眠选项
2022/04/19 数码科技
MySQL 条件查询的常用操作
2022/04/28 MySQL