Python实现自动化办公
目录
Excel自动化处理
写入数据-xlwt模块
安装
常用方法
读取数据-xlrd模块
安装
常用方法和属性
更新数据-xlutils
安装
常用方法和属性
代码
excel设置样式
常用方法和属性
代码
Excel自动化处理
办公自动化是将现代办公和计算机技术结合起来的一种新型办公方式。
office家族其实都可以用VBA解决自动化的问题。
Python针对Excel有很多第三方库可以使用,比如xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils等等。
这些库都可以很方便地实现对excel文件的增删改写,格式修改等。当然这些不用全部去学,需要的时间成本太大了。
类型 | xlrd、xlwt、xlutils | XlsxWriter | openpyxl | excel开放接口 |
---|---|---|---|---|
读取 | √ | × | √ | √ |
写入 | √ | √ | √ | √ |
修改 | √ | × | √ | √ |
xls | √ | × | × | √ |
xlsx | 高版本 | √ | √ | √ |
大文件 | × | √ | √ | √ |
效率 | 快 | 快 | 快 | 慢 |
功能 | 较弱 | 强大 | 一般 | 超强大 |
写入数据-xlwt模块
安装
pip install xlwt
常用方法
函数名 | 含义 |
---|---|
xlwt.Workbook() | 创建一个新的excel文件 |
xlwt.add_sheet(sheet_name) | 创建一个新的工作簿 |
sheet.write(row,col,data) | 向单元格中编写数据 |
workbook.save(path) | 保存数据到文件 |
下面我们写一段代码来试试吧
import xlwt
# 注意,文件名称不能和导入的模块名相同
# 创建一个excel
wb = xlwt.Workbook()
# 选择工作簿
sh1 = wb.add_sheet("电影")
# 添加数据
# sh1.write(row,col,"电影名称"),行列都是从0开始
# 增加第一行数据
sh1.write(0,0,"电影名称")
sh1.write(0,1,"综合票房")
sh1.write(0,2,"票房占比")
sh1.write(0,3,"排片场次")
# 增加第二行数据
sh1.write(1,0,"你好李焕英")
sh1.write(1,1,1000)
sh1.write(1,2,"33.3")
sh1.write(1,3,"1000")
# 保存数据
wb.save("./create_data/01_电影数据.xlsx")
现在就创建了一个excel文件了。
读取数据-xlrd模块
安装
pip install xlrd
常用方法和属性
函数名/属性 | 含义 |
---|---|
xlrd.open_workbook(path) | 打开一个文件 |
workbook.nsheets | 获取工作簿数量 |
workbook.sheets() | 获取所有工作簿 |
workbook.sheet_name() | 获取工作簿名 |
sheet.sheet_by_index(num) | 获取第num个工作簿 |
sheet.sheet_by_name(name) | 根据工作簿名获取 |
sheet.nrows | 获取工作簿总行数 |
sheet.row_values(num) | 获取指定行数据 |
sheet.cell(row,col) | 获取指定单元格 |
sheet.row(num)[col] | 获取指定单元格 |
cell.value | 获取单元格的值 |
cell.ctype | 获取单元格内容的数据类型 |
sheet.cell_value(row,col) | 获取指定单元格的值 |
下面我们写一段代码来试试吧
import xlrd
# 打开excel
wb = xlrd.open_workbook("./create_data/01_电影数据.xlsx")
# 读取数据
# 获取工作簿数据
print(f"excel中有{wb.nsheets}个工作簿")
print(f"excel中sheets的名字都有{wb.sheet_names()}")
# 如果有多个工作簿,要操作它,必须先选中
ws1 = wb.sheet_by_index(0)
ws2 = wb.sheet_by_name("电影")
# 获取单元格数据
print(f"sheet中有{ws1.nrows}行,{ws1.ncols}列数据")
# 获取单个单元格
print(f"第二行第二列数据的值是{ws1.cell_value(1,1)}")
print(f"第二行第二列数据的值是{ws1.cell(1,1).value}")
print(f"第二行第二列数据的值是{ws1.row(1)[1].value}")
# 获取多个单元格
print(f"第一行的数据是{ws1.row_values(0)}")
print(f"第一列的数据是{ws1.col_values(0)}")
# 获取整个sheet
for r in range(ws1.nrows):for c in range(ws1.ncols):# 因为索引是从0开始的,所以将行列加一print(f"第{r+1}行第{c+1}列的数据为:{ws1.cell_value(r,c)}")
更新数据-xlutils
更新数据的方案:
获取数据源重新写一遍
直接在原数据上写新数据(推荐)
安装
pip install xlutils
常用方法和属性
函数名 | 含义 |
---|---|
xlutils.copy.copy(workbook) | 复制excel文件 |
代码
from xlutils.copy import copy
import xlrd
# 读取文件
rb = xlrd.open_workbook("./create_data/01_电影数据.xlsx")
# 复制文件
wb = copy(rb)
# 修改数据
# 获取excel中第一个工作簿
ws = wb.get_sheet(0)
# 增加数据
ws.write(4,0,"新增电影")
ws.write(4,1,111)
ws.write(4,2,32)
ws.write(4,3,1110)
# 增加信息
rs = rb.sheet_by_index(0)
count = 0
for r in range(1,rs.nrows):num = rs.cell_value(r,3)# 累加排场次数count += int(num)
# 增加一个新的工作簿
new_ws = wb.add_sheet("汇总数据")
new_ws.write(0,0,"总排场次数")
new_ws.write(0,1,count)
# 保存数据
wb.save("./create_data/02_更新电影数据.xlsx")
excel设置样式
常用方法和属性
函数/属性名 | |
---|---|
xlwt.Font() | 创建字体样式 |
font.name | 设置字体类型 |
font.color_index | 设置字体颜色 |
font.height | 设置字体大小 |
font.bold | 加粗字体 |
font.underline | 下划线 |
font.italic | 斜体 |
xlwt.Alignment() | 设置字体位置样式 |
alignment.horz | 设置字体横向位置#1左2中3右 |
alignment.vert | 设置字体纵向位置#0上1中2下 |
row.height_mismatch | 设置是否开启行高(True为开启) |
row.height | 设置单元格行高,值为256*像素点 |
col.width | 设置单元格宽度,值为256*像素点 |
xlwt.Borders() | 设置边框样式 |
border.left | 设置左边框粗细 |
border.right | 设置右边框粗细 |
border.left_color | 设置左边框颜色 |
xlwt.Background() | 设置背景颜色 |
xlwt.XFStyle() | 设置总样式对像,用于应用到单元格 |
xlwt.easyxf() | 是指总样式对象 |
代码
import xlwt
# 创建一个文件
wb = xlwt.Workbook()
# 创建一个工作簿
ws = wb.add_sheet("数据")
# 设置样式
ft = xlwt.Font()
ft.name = "楷体" # 字体样式
ft.height = 20*20 # 字体大小
ft.bold = True # 字体加粗
ft.underline = True # 下划线
ft.italic = True # 斜体
ft.colour_index = 2 # 设置字体颜色
# 创建样式对象
style1 = xlwt.XFStyle()
style1.font = ft
# 增加内容
ws.write(0,0,"唐僧")
ws.write(1,1,"孙悟空",style1)
# 保存数据
wb.save("./create_data/03_excel样式练习.xls")
Python实现自动化办公相关推荐
- python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- python自动化办公培训排名-盘点使用Python进行自动化办公所需要的知识点
三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...
- python自动化办公入门书籍-盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- python自动化办公都能做什么-盘点使用Python进行自动化办公所需要的知识点
三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...
- Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)
Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...
- python 实现自动化办公 人工统计考勤与电脑匹配
注:此资料亲身使用,真实可靠,如果运行方面有问题,可以私聊 资源代码都是近一年亲身运行过的,欢迎交流 python 实现自动化办公 人工统计考勤与电脑匹配 源代码如下: from openpyxl i ...
- 用python实现自动化办公------Excel操作
用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 摘要 一 matplotlib和 ...
- 如何用python实现自动化办公_Python自动化办公都需要掌握什么知识?
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- python自动化办公教程书籍_盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- 用python实现自动化办公------定时发送邮件
用python实现自动化办公------定时发送邮件 摘要 一.注册"和风天气" 二.用python获取和风天气响应的json数据 三.发送邮件 四.写入日志 程序源码 摘要 本文 ...
最新文章
- 300亿美元,AMD为什么要买Xilinx?
- Maven+Struts2+MyBatis+Spring搭建教程
- SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
- hdfs开机启动流程
- 外设获取物理内存数据_Linux系统对IO端口和IO内存的管理
- hcfax2e伺服驱动器说明书_伺服电机说明书
- Python分析《武林外传》
- [附源码]java+ssm计算机毕业设计java磐基建筑机械租赁有限公司机械租赁系统41c32【源码、数据库、LW、部署】
- 高可用免费代理ip爬取实战
- 美国参议员建议立法“黑掉国土安全部”
- java float类型是否为空_java – 如何使float类型的变量为null
- 微软内部封杀 Slack
- python俩种方法画日本国旗
- 有赞android电话面试,有赞校招面试总结
- ava基础知识02-
- 用Matlab提取图片中泰文,利用Matlab提取图片中的数据
- oracle 1555错误,日志ORA-1555错误解决
- ubuntu 16.04 + zabbix 3.4 + postgresql pg_monz
- 面向创意人士:全新的LaCie 2big Dock Thunderbolt 3来了!
- 全球与中国HEPA滤膜市场深度研究分析报告
热门文章
- excel打印时显示服务器脱机怎么办,打印机脱机怎么办 打印机总是脱机的解决方法教程[多图]...
- 大气商务公司新年计划精美PPT模板共享
- 计算机网络——第一章:计算机网络概述
- 全息影像还原技术使杰克逊复活 再现太空步
- 人脸对齐算法常用评价标准
- iOS-AES加解密各模式(ECB、CBC、CFB、OFB)的实现
- Windows 系列服务器C盘清理
- linux 使用 cf-811ac
- 解决composer报错:Could not find a version of package xxx/yyy
- Python 量化分析ETF指数基金投资