目录

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实现自动化办公相关推荐

  1. python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  2. python自动化办公培训排名-盘点使用Python进行自动化办公所需要的知识点

    三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...

  3. python自动化办公入门书籍-盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  4. python自动化办公都能做什么-盘点使用Python进行自动化办公所需要的知识点

    三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...

  5. Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)

    Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...

  6. python 实现自动化办公 人工统计考勤与电脑匹配

    注:此资料亲身使用,真实可靠,如果运行方面有问题,可以私聊 资源代码都是近一年亲身运行过的,欢迎交流 python 实现自动化办公 人工统计考勤与电脑匹配 源代码如下: from openpyxl i ...

  7. 用python实现自动化办公------Excel操作

    用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 摘要 一 matplotlib和 ...

  8. 如何用python实现自动化办公_Python自动化办公都需要掌握什么知识?

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  9. python自动化办公教程书籍_盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  10. 用python实现自动化办公------定时发送邮件

    用python实现自动化办公------定时发送邮件 摘要 一.注册"和风天气" 二.用python获取和风天气响应的json数据 三.发送邮件 四.写入日志 程序源码 摘要 本文 ...

最新文章

  1. 300亿美元,AMD为什么要买Xilinx?
  2. Maven+Struts2+MyBatis+Spring搭建教程
  3. SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
  4. hdfs开机启动流程
  5. 外设获取物理内存数据_Linux系统对IO端口和IO内存的管理
  6. hcfax2e伺服驱动器说明书_伺服电机说明书
  7. Python分析《武林外传》
  8. [附源码]java+ssm计算机毕业设计java磐基建筑机械租赁有限公司机械租赁系统41c32【源码、数据库、LW、部署】
  9. 高可用免费代理ip爬取实战
  10. 美国参议员建议立法“黑掉国土安全部”
  11. java float类型是否为空_java – 如何使float类型的变量为null
  12. 微软内部封杀 Slack
  13. python俩种方法画日本国旗
  14. 有赞android电话面试,有赞校招面试总结
  15. ava基础知识02-
  16. 用Matlab提取图片中泰文,利用Matlab提取图片中的数据
  17. oracle 1555错误,日志ORA-1555错误解决
  18. ubuntu 16.04 + zabbix 3.4 + postgresql pg_monz
  19. 面向创意人士:全新的LaCie 2big Dock Thunderbolt 3来了!
  20. 全球与中国HEPA滤膜市场深度研究分析报告

热门文章

  1. excel打印时显示服务器脱机怎么办,打印机脱机怎么办 打印机总是脱机的解决方法教程[多图]...
  2. 大气商务公司新年计划精美PPT模板共享
  3. 计算机网络——第一章:计算机网络概述
  4. 全息影像还原技术使杰克逊复活 再现太空步
  5. 人脸对齐算法常用评价标准
  6. iOS-AES加解密各模式(ECB、CBC、CFB、OFB)的实现
  7. Windows 系列服务器C盘清理
  8. linux 使用 cf-811ac
  9. 解决composer报错:Could not find a version of package xxx/yyy
  10. Python 量化分析ETF指数基金投资