大家好,小编来为大家解答以下问题,python与办公自动化有什么关系,python办公自动化有用吗?,今天让我们一起来看看吧!
目录
Excel自动化处理
写入数据-xlwt模块
安装
常用方法
读取数据-xlrd模块
安装
常用方法和属性
更新数据-xlutils
安装
常用方法和属性
代码
excel设置样式
常用方法和属性
代码
Excel自动化处理
办公自动化是将现代办公和计算机技术结合起来的一种新型办公方式快码论文。
office家族其实都可以用VBA解决自动化的问题。
Python针对Excel有很多第三方库可以使用,比如xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils等等。
这些库都可以很方便地实现对excel文件的增删改写,格式修改等。当然这些不用全部去学,需要的时间成本太大了。
写入数据-xlwt模块
安装
pip install xlwt
常用方法
下面我们写一段代码来试试吧
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") # 保存数据 ("./create_data/01_电影数据.xlsx")
现在就创建了一个excel文件了。
读取数据-xlrd模块
安装
pip install xlrd
常用方法和属性
下面我们写一段代码来试试吧
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"第二行第二列数据的值是{_value(1,1)}") print(f"第二行第二列数据的值是{(1,1).value}") print(f"第二行第二列数据的值是{(1)[1].value}") # 获取多个单元格 print(f"第一行的数据是{_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}列的数据为:{_value(r,c)}")
更新数据-xlutils
更新数据的方案:
获取数据源重新写一遍
直接在原数据上写新数据(推荐)
安装
pip install xlutils
常用方法和属性
代码
from 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) # 保存数据 ("./create_data/02_更新电影数据.xlsx")
excel设置样式
常用方法和属性
代码
import xlwt # 创建一个文件 wb = xlwt.Workbook() # 创建一个工作簿 ws = wb.add_sheet("数据") # 设置样式 ft = () = "楷体" # 字体样式 ft.height = 20*20 # 字体大小 = True # 字体加粗 ft.underline = True # 下划线 ft.italic = True # 斜体 ft.colour_index = 2 # 设置字体颜色 # 创建样式对象 style1 = xlwt.XFStyle() = ft # 增加内容 ws.write(0,0,"唐僧") ws.write(1,1,"孙悟空",style1) # 保存数据 ("./create_data/03_excel样式练习.xls")