Python操作Excel的学习笔记


Posted in Python onFebruary 18, 2021

用 xlrd 模块读取 Excel

xlrd 安装

cmd 中输入pip install xlrd 即可安装 xlrd 模块

若失败请自行百度”python配置环境变量“

xlrd 常用函数

 打开,加载工作簿

import xlrd

data = xlrd.open_workbook("data1.xls") # 打开并加载,返回工作簿对象
print(data.sheet_loaded(0)) # 是否加载完成
data.unload_sheet(0) # 卸载
print(data.sheet_loaded(0))

Python操作Excel的学习笔记

获取工作表

import xlrd

data = xlrd.open_workbook("data1.xls") # 打开并加载,返回工作簿对象
print(data.sheets()) # 获取全部工作表
print(data.sheets()[0]) # 下标访问
print(data.sheet_by_name("Sheet1")) # 根据名字获取工作表 大小写严格!
print(data.sheet_by_index(0)) # 根据下标获取工作表
print(data.sheet_names()) # 获取所有工作表的name
print(data.nsheets) # 获取工作表数量

Python操作Excel的学习笔记

Excel 行操作与列操作

import xlrd

data = xlrd.open_workbook("data1.xls") # 打开并加载,返回工作簿对象
# 操作 Excel 行
sheet = data.sheet_by_index(0) # 获取第一个工作表
print(sheet.nrows) # 获取工作表行数
print(sheet.row(15)) # 该行单元格对象组成的列表
print(sheet.row_types(15)) # 获取单元格的数据类型
# type: 0 empty,1 string,2 number, 3 date,4 boolean, 5 error
print(sheet.row(15)[5].value) # 获取单元格内容
print(sheet.row_values(15)) # 获取整行单元格内容
print(sheet.row_len(15)) # 获取单元格长度
# 操作 Excel 列
sheet = data.sheet_by_index(1) # 获取第一个工作表
print(sheet.ncols) # 获取工作表列数
print(sheet.col(2)) # 该列单元格对象组成的列表
print(sheet.col_types(15)) # 获取单元格的数据类型
# type: 0 empty,1 string,2 number, 3 date,4 boolean, 5 error
print(sheet.col(15)[5].value) # 获取单元格内容
print(sheet.col_values(15)) # 获取整列单元格内容

Python操作Excel的学习笔记

Excel 单元格操作

import xlrd

data = xlrd.open_workbook("data1.xls") # 打开并加载,返回工作簿对象
# 操作 Excel 单元格
sheet = data.sheet_by_index(0)
print(sheet.cell(15, 7)) # 获取单元格
# 获取单元格的数据类型
print(sheet.cell_type(15, 7))
print(sheet.cell(15,7).ctype)
# 获取单元格内容
print(sheet.cell_value(15, 7))
print(sheet.cell(15,7).value)

Python操作Excel的学习笔记

用 xlwt 模块写入 Excel

xlrd 安装

cmd 中输入pip install xlwt 即可安装 xlwt 模块

创建工作簿并添加工作表

import xlwt

# 创建工作簿
wb = xlwt.Workbook()
# 添加工作表
ws = wb.add_sheet("绩点")

调整单元格样式

# 设置单元格样式
titlestyle = xlwt.XFStyle() # 初始化样式
titlefont = xlwt.Font()
titlefont.name = "楷体"
titlefont.bold = True # 加粗
titlefont.height = 11 * 20 # 字号
titlefont.colour_index = 0x08 # 字体颜色
titlestyle.font = titlefont

# 单元格对齐方式
cellalign = xlwt.Alignment()
cellalign.horz = 0x02 # 水平
cellalign.vert = 0x01 # 垂直
titlestyle.alignment = cellalign

# 边框
borders = xlwt.Borders()
borders.right = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DOTTED
titlestyle.borders = borders

# 背景颜色
dataStyle = xlwt.XFStyle()
bgcolor = xlwt.Pattern()
bgcolor.pattern = xlwt.Pattern.SOLID_PATTERN
bgcolor.pattern_fore_colour = 22 # 背景颜色
dataStyle.pattern = bgcolor

填充数据

ws.write_merge(5, 6, 4, 6, "绩点", titlestyle) # (x1,y1,x2,y2,内容,样式)
# (x1,y1)到(x2,y2)之间合并单元格,并以相应样式填写内容

写入数据

data = (("学号", "第一学期", "第二学期"),
    ("201911040693", 2.971, 2.939),
    ("201911040694", 2.035, 2.487),
    ("201911040695", 2.709, 2.099),
    ("201911040696", 3.374, 3.388),
    ("201911040697", 2.646, 2.415))
for i, item in enumerate(data):
  for j, val in enumerate(item):
    ws.write(i + 7, j + 4, val, dataStyle) # (行,列,内容,样式)
    # 填写数据

插入图片

ws.insert_bitmap("123.bmp", 20, 21)

保存文件

wb.save("前两学期绩点统计.xls")

到此这篇关于Python 操作 Excel 学习笔记的文章就介绍到这了,更多相关Python 操作 Excel 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python写的图片蜘蛛人代码
Aug 27 Python
python标准算法实现数组全排列的方法
Mar 17 Python
在Python中用has_key()方法查找键是否存在的教程
May 21 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
python处理写入数据代码讲解
Oct 22 Python
详解Python中的文件操作
Jan 14 Python
Pytest中conftest.py的用法
Jun 27 Python
python数字图像处理之图像的批量处理
Jun 28 Python
手把手教你用Django执行原生SQL的方法
Feb 18 #Python
python中封包建立过程实例
Feb 18 #Python
python解包用法详解
Feb 17 #Python
python压包的概念及实例详解
Feb 17 #Python
python解包概念及实例
Feb 17 #Python
requests在python中发送请求的实例讲解
Feb 17 #Python
python切片作为占位符使用实例讲解
Feb 17 #Python
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
js评分组件使用详解
2017/06/06 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
Textarea输入字数限制实例(兼容iOS&安卓)
2017/07/06 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
动态创建类实例代码
2009/10/07 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
Python中extend和append的区别讲解
2019/01/24 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
如何在pycharm中安装第三方包
2020/10/27 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
五年级学生评语
2014/04/22 职场文书
雷人标语集锦
2014/06/19 职场文书
标准毕业生自荐信
2014/06/24 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
小马王观后感
2015/06/11 职场文书
Docker安装MySql8并远程访问的实现
2022/07/07 Servers