Python办公自动化全网最全干货,高效工作再不加班!

文章目录

  • 前言
  • Python Excel库对比
  • 一、Python xlrd 读取 操作Excel
    • 1.1 xlrd模块介绍
    • 1.2 安装xlrd模块
    • 1.3 使用介绍
    • 1.4 实战训练
  • 二、Python xlwt 写入 操作Excel(仅限xls格式!)
    • 2.1 pip安装xlwt
    • 2.2 使用xlwt创建新表格并写入
    • 2.3 xlwt 设置字体格式
    • 2.4 xlwt 设置列宽
    • 2.5 xlwt 设置行高
    • 2.6 xlwt 合并列和行
    • 2.7 xlwt 添加边框
    • 2.8 xlwt为单元格设置背景色
    • 2.9 xlwt设置单元格对齐
  • 总结
      • Python技术资源分享
        • 1、Python所有方向的学习路线
        • 2、学习软件
        • 3、精品书籍
        • 4、入门学习视频
        • 5、实战案例
        • 6、清华编程大佬出品《漫画看学Python》
        • 7、Python副业兼职与全职路线


前言

  • 很多人就要问学python自动化办公有什么好处?
    1、符合减少重复劳动,提升工作效率,是很多职场人员想要学习Python的出发点。
    2、能磁盘文件的整理、使用Python操作Excel,Word,PPT,PDF文件等。
    3、你只需要花上几分钟编写一个简单的程序,这些枯燥无聊的工作会很快被计算机完成,就能放双手,做职场高手。
    在这里插入图片描述
    在这里插入图片描述

Python Excel库对比

我们先来看一下python中能操作Excel的库对比(一共九个库):
在这里插入图片描述

一、Python xlrd 读取 操作Excel

1.1 xlrd模块介绍

(1)什么是xlrd模块?

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

(2)为什么使用xlrd模块?

在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。

xlrd模块可以用于读取Excel的数据,速度非常快,推荐使用!

官方文档:https://xlrd.readthedocs.io/en/latest/

1.2 安装xlrd模块

到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

或者在cmd窗口 pip install xlrd

pipinstallxlrd

我这里是anaconda自带有xlrd,所以提示已经安装:
在这里插入图片描述

1.3 使用介绍

1.常用单元格的数据类型

empty(空的)

string(text)

number

date

boolean

error

blank(空白表格)
导入模块

importxlrd

打开Excel文件读取数据

data=xlrd.open_workbook(filename)#文件名以及路径,如果路径或者文件名有中文给前面加一个r

1.常用的函数

excel中最重要的方法就是book和sheet的操作

(1)获取book(excel文件)中一个工作表

table=data.sheets()[0]#通过索引顺序获取
table=data.sheet_by_index(sheet_indx)#通过索引顺序获取
table=data.sheet_by_name(sheet_name)#通过名称获取

#以上三个函数都会返回一个xlrd.sheet.Sheet()对象

names=data.sheet_names()#返回book中所有工作表的名字
data.sheet_loaded(sheet_nameorindx)#检查某个sheet是否导入完毕

(2) 行的操作

nrows=table.nrows
#获取该sheet中的行数,注,这里table.nrows后面不带().

table.row(rowx)
#返回由该行中所有的单元格对象组成的列表,这与tabel.raw()方法并没有区别。

table.row_slice(rowx)
#返回由该行中所有的单元格对象组成的列表

table.row_types(rowx,start_colx=0,end_colx=None)
#返回由该行中所有单元格的数据类型组成的列表;
#返回值为逻辑值列表,若类型为empy则为0,否则为1

table.row_values(rowx,start_colx=0,end_colx=None)
#返回由该行中所有单元格的数据组成的列表

table.row_len(rowx)
#返回该行的有效单元格长度,即这一行有多少个数据
在这里插入图片描述
(3)列(colnum)的操作

ncols=table.ncols
#获取列表的有效列数

table.col(colx,start_rowx=0,end_rowx=None)
#返回由该列中所有的单元格对象组成的列表

table.col_slice(colx,start_rowx=0,end_rowx=None)
#返回由该列中所有的单元格对象组成的列表

table.col_types(colx,start_rowx=0,end_rowx=None)
#返回由该列中所有单元格的数据类型组成的列表

table.col_values(colx,start_rowx=0,end_rowx=None)
#返回由该列中所有单元格的数据组成的列表
在这里插入图片描述
(4)单元格的操作

table.cell(rowx,colx)
#返回单元格对象

table.cell_type(rowx,colx)
#返回对应位置单元格中的数据类型

table.cell_value(rowx,colx)
#返回对应位置单元格中的数据

1.4 实战训练

我们先在表格放入以下数据,点击保存:
在这里插入图片描述
使用xlrd模块进行读取:

importxlrd

xlsx=xlrd.open_workbook(‘./3_1xlrd读取操作练习.xlsx’)

#通过sheet名查找:xlsx.sheet_by_name(“sheet1”)
#通过索引查找:xlsx.sheet_by_index(3)
table=xlsx.sheet_by_index(0)

#获取单个表格值(2,1)表示获取第3行第2列单元格的值
value=table.cell_value(2,1)
print(“第3行2列值为”,value)

#获取表格行数
nrows=table.nrows
print(“表格一共有”,nrows,“行”)

#获取第4列所有值(列表生成式)
name_list=[str(table.cell_value(i,3))foriinrange(1,nrows)]
print(“第4列所有的值:”,name_list)

打印结果:
在这里插入图片描述
列表生成式介绍:
在这里插入图片描述
列表生成式学习链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017317609699776

二、Python xlwt 写入 操作Excel(仅限xls格式!)

xlwt可以用于写入新的Excel表格或者在原表格基础上进行修改,速度也很快,推荐使用!
https://xlwt.readthedocs.io/en/latest/

2.1 pip安装xlwt

pipinstallxlwt

我这里是anaconda自带有xlwt,所以提示已经安装:
在这里插入图片描述

2.2 使用xlwt创建新表格并写入

一开始目录下只有这两个文件:
在这里插入图片描述
编写xlwt新表格写入程序:

#3.2.2使用xlwt创建新表格并写入
deffun3_2_2():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)
worksheet.write(2,1,“内容2”)

#保存
workbook.save(“新创建的表格.xls”)
在这里插入图片描述
生成的表格内容如下:
在这里插入图片描述

2.3 xlwt 设置字体格式

程序示例:

#3.2.3xlwt设置字体格式
deffun3_2_3():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#初始化样式
style=xlwt.XFStyle()

#为样式创建字体
font=xlwt.Font()
font.name=‘TimesNewRoman’#字体
font.bold=True#加粗
font.underline=True#下划线
font.italic=True#斜体

#设置样式
style.font=font

#往表格写入内容
worksheet.write(0,0,“内容1”)
worksheet.write(2,1,“内容2”,style)

#保存
workbook.save(“新创建的表格.xls”)

效果如下:
在这里插入图片描述

2.4 xlwt 设置列宽

xlwt中列宽的值表示方法:默认字体0的1/256为衡量单位。

xlwt创建时使用的默认宽度为2960,既11个字符0的宽度

所以我们在设置列宽时可以用如下方法:

width = 256 * 20 256为衡量单位,20表示20个字符宽度

程序示例:

#3.2.4设置列宽
deffun3_2_4():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)
worksheet.write(2,1,“内容2”)

#设置列宽
worksheet.col(0).width=256*20

#保存
workbook.save(“新创建的表格.xls”)

效果如下:
在这里插入图片描述

2.5 xlwt 设置行高

在xlwt中没有特定的函数来设置默认的列宽及行高

行高是在单元格的样式中设置的,你可以通过自动换行通过输入文字的多少来确定行高

程序示例:

#3.2.5设置行高
deffun3_2_5():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)
worksheet.write(2,1,“内容2”)

#设置行高
style=xlwt.easyxf(‘font:height360;’)#18pt,类型小初的字号
row=worksheet.row(0)
row.set_style(style)

#保存
workbook.save(“新创建的表格.xls”)

效果如下:
在这里插入图片描述

2.6 xlwt 合并列和行

程序示例:

#3.2.6合并列和行
deffun3_2_6():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)

#合并第1行到第2行的第0列到第3列
worksheet.write_merge(1,2,0,3,‘MergeTest’)

#保存
workbook.save(“新创建的表格.xls”)

效果如下:
在这里插入图片描述

2.7 xlwt 添加边框

程序示例:

#3.2.7添加边框
deffun3_2_7():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)

#设置边框样式
borders=xlwt.Borders()#CreateBorders

#Maybe:NO_LINE,THIN,MEDIUM,DASHED,DOTTED,THICK,DOUBLE,HAIR,
#MEDIUM_DASHED,THIN_DASH_DOTTED,MEDIUM_DASH_DOTTED,THIN_DASH_DOT_DOTTED,
#MEDIUM_DASH_DOT_DOTTED,SLANTED_MEDIUM_DASH_DOTTED,or0x00through0x0D.
#DASHED虚线
#NO_LINE没有
#THIN实线

borders.left=xlwt.Borders.DASHED
borders.right=xlwt.Borders.DASHED
borders.top=xlwt.Borders.DASHED
borders.bottom=xlwt.Borders.DASHED
borders.left_colour=0x40
borders.right_colour=0x40
borders.top_colour=0x40
borders.bottom_colour=0x40

style=xlwt.XFStyle()#CreateStyle
style.borders=borders#AddBorderstoStyle

worksheet.write(0,0,‘内容1’,style)

worksheet.write(2,1,“内容2”)

#保存
workbook.save(“新创建的表格.xls”)

效果如下:在这里插入图片描述

2.8 xlwt为单元格设置背景色

程序示例:

#设置单元格背景色
deffun3_2_8():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)

#创建样式
pattern=xlwt.Pattern()

#Maybe:NO_PATTERN,SOLID_PATTERN,or0x00through0x12
pattern.pattern=xlwt.Pattern.SOLID_PATTERN

#Maybe:8through63.0=Black,1=White,2=Red,3=Green,4=Blue,5=Yellow,
#6=Magenta,7=Cyan,16=Maroon,17=DarkGreen,18=DarkBlue,19=DarkYellow,
#almostbrown),20=DarkMagenta,21=Teal,22=LightGray,23=DarkGray,thelistgoeson…
pattern.pattern_fore_colour=5
style=xlwt.XFStyle()
style.pattern=pattern

#使用样式
worksheet.write(2,1,“内容2”,style)

效果如下:在这里插入图片描述

2.9 xlwt设置单元格对齐

使用xlwt中的Alignment来设置单元格的对齐方式,其中horz代表水平对齐方式,vert代表垂直对齐方式。

VERT_TOP = 0x00 上端对齐
VERT_CENTER = 0x01 居中对齐(垂直方向上)
VERT_BOTTOM = 0x02 低端对齐
HORZ_LEFT = 0x01 左端对齐
HORZ_CENTER = 0x02 居中对齐(水平方向上)
HORZ_RIGHT = 0x03 右端对齐

程序示例:

#设置单元格对齐
deffun3_2_9():
#创建新的workbook(其实就是创建新的excel)
workbook=xlwt.Workbook(encoding=‘ascii’)

#创建新的sheet表
worksheet=workbook.add_sheet(“MynewSheet”)

#往表格写入内容
worksheet.write(0,0,“内容1”)

#设置样式
style=xlwt.XFStyle()
al=xlwt.Alignment()
#VERT_TOP=0x00上端对齐
#VERT_CENTER=0x01居中对齐(垂直方向上)
#VERT_BOTTOM=0x02低端对齐
#HORZ_LEFT=0x01左端对齐
#HORZ_CENTER=0x02居中对齐(水平方向上)
#HORZ_RIGHT=0x03右端对齐
al.horz=0x02#设置水平居中
al.vert=0x01#设置垂直居中
style.alignment=al

#对齐写入
worksheet.write(2,1,“内容2”,style)

#保存
workbook.save(“新创建的表格.xls”)

效果如下:在这里插入图片描述


总结

人生苦短,我用Python。
在这里插入图片描述


Python技术资源分享

小编是一名Python开发工程师,自己整理了一套 【最新的Python系统学习教程】,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。

保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

如果你是准备学习Python或者正在学习,下面这些你应该能用得上:

1、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

2、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

在这里插入图片描述

3、精品书籍

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

在这里插入图片描述

4、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img

5、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

6、清华编程大佬出品《漫画看学Python》

用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。

在这里插入图片描述

7、Python副业兼职与全职路线

在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

👉CSDN大礼包:《Python入门资料&实战源码&安装工具】免费领取安全链接,放心点击

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/285590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能加速包: SpringBoot 2.7JDK 17,你敢尝一尝吗 | 京东物流技术团队

前言 众所周知,SpringBoot3.0迎来了全面支持JDK17的局面,且最低支持版本就是JDK17,这就意味着,Spring社区将完全抛弃JDK8,全面转战JDK17。作为JAVA开源生态里的扛把子,Spring可以说是整个JAVA生态的风向标…

Arcgis中利用模型构建器统一栅格数据的行列号

1、统一(X,Y) 方法:"数据管理工具箱"→"Projections and Transformations"→"Raster"→"Project Raster" 构建模型 这里以行列号最小的栅格(X,Y)为准(其实也就是栅格数据的空…

网络编程day3作业

多进程实现TCP并发服务器 #include<myhead.h>#define PORT 8888 #define IP "192.168.125.130"void hadder(int signo) {if(signo SIGCHLD){while(waitpid(-1,NULL,WNOHANG) > 0);} }int information_exchange(int newfd,struct sockaddr_in cin) {char b…

Redis原理之网络模型笔记

目录 1. 阻塞IO 2. 非堵塞IO 3. IO多路复用 ​3.1 select 3.2 poll 3.3 epoll 4. 信号驱动IO 5. 异步IO 6. Redis是单线程还是多线程 Redis采用单线程模型&#xff0c;这意味着一个Redis服务器在任何时刻都只会处理一个请求。Redis的网络模型涉及到阻塞I/O&#xff08;Blo…

Mac managing Multiple Python Versions With pyenv 【 mac pyenv 管理多个python 版本 】

文章目录 1. 简介2. 安装2.1 brew 安装 pyenv2.2 脚本安装 3. pyenv 安装 Python4. 卸载 python5. 管理 python 1. 简介 Pyenv 是一个用于管理和切换多个 Python 版本的工具。它允许开发人员在同一台计算机上同时安装和使用多个不同的 Python 版本&#xff0c;而无需对系统进行…

STM32与Freertos入门(三)任务的创建、删除

1、串口配置 首先将串口进行配置&#xff0c;后续经常会应用&#xff0c;具体步骤点击&#xff1a;串口配置。 2、任务 创建一个任务&#xff0c;就是开辟一个空间、每个任务中都会有while&#xff08;1&#xff09;死循环。 2.1相关函数 动态创建&#xff1a;xTaskCreate…

vp与vs联合开发-通过CogAcqFifoTool工具连接相机

1.完成相机硬件配置后 2.完成vp与vs联合开发配置功能后 1.创建winform 项目 目的 : 搭建 界面应用 2. 1. vpp文件存入 项目的debug 目录中 目的&#xff1a; 在项目中加载本地vpp文件 读取相机工具 1.控件CogRecordDisplay 用于显示相机拍摄照片和实施显示的窗口 2和3 …

TortoiseGit通过SSH连接配置,生成SSH密钥方法

生成SSH密钥&#xff1a; Win环境下命令(git ssh key是可以自定义命名的)&#xff1a; ssh-keygen -t ed25519 -C "git ssh key" && start "" "C:\Windows\notepad.exe" "C:\Users\%username%\.ssh\id_ed25519.pub" 打开cm…

弹幕情感分析可视化

弹幕情感分析可视化 引言1. 弹幕数据爬取2. 弹幕数据处理3. 弹幕数据可视化4. 弹幕情感分析5. 创新点&#xff1a;弹幕情感倾向分布 引言 当今互联网时代&#xff0c;大量的弹幕数据蕴含着丰富的信息&#xff0c;通过对这些数据进行分析和可视化&#xff0c;我们能够深入了解用…

【C语言】自定义类型——枚举、联合体

引言 对枚举、联合体进行介绍&#xff0c;包括枚举的声明、枚举的优点&#xff0c;联合体的声明、联合体的大小。 ✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 引言 枚举 枚举…

idea添加外部jar包

在日常开发中在lib包的里面添加了外部的jar&#xff0c;如何将外部的包添加到java类库中&#xff0c;这样项目就可以引用相应的jar包&#xff0c;操作如下&#xff1a; 1.先将需要的jar复制到lib包如下&#xff0c;如下截图&#xff0c;图标前面没有箭头&#xff0c;表示还未添…

清晨早安问候祝福语精选,早晨的微笑是全天幸福的开始

1、真情是大海&#xff0c;一辈子不枯&#xff1b;缘分是桥梁&#xff0c;一辈子相连&#xff1b;友情是棵松&#xff0c;一辈子常青&#xff1b;短信是条路&#xff0c;一辈子畅通&#xff01;清晨的鲜花&#xff0c;永远芬芳&#xff01;结下的缘分&#xff0c;永远不忘&…