当前位置: 首页 > 后端技术 > Python

你用Python实现过哪些办公自动化?

时间:2023-03-26 18:36:35 Python

Python办公自动化主要是解决数据的批量化、自动化、定制化的问题。目前主要分为三个部分:自动化办公、自动化机器人、自动化数据服务。1、自动化办公,包括excel、word、ppt、email、pdf等常用办公场景的操作,Python有相应的工具库,可以方便调用。提供一些常用的核心库供大家参考。excel:xlwings,xlrd,xlwt,openpyxlword:Python-docxppt:pptxemail:smtplib(SMTPservice),email(parsingandprocessing),yagmail(all-rounder)pdf:pypdf2,pdfminer,pdfplumberpicture:PIL学习这些并知道如何使用python是前提。对于小白来说,自学并不是一件容易的事情。适应python的语法逻辑需要相当长的时间,而且必须坚持自己敲代码,不断练习。2、自动化机器人用于完善日常化、高频化的服务,如微信客服、自动交易系统、实时信息抓取、QQ聊天机器人等。例如web自动化测试:selenium模拟鼠标键盘:pymouse、pywinauto、pyautogui微信自动化:wechatbyPython自动化办公其实不难,但是也需要有Python基础,至少得会写脚本,不然就算有自动化接口也用不上。不少人进门已久,却依旧在门外徘徊。我觉得这是学习方法的问题。学习编程一定要多练习,基础+实战同时进行,这样才能尽快掌握Python。可能你会问,书看不下去怎么办,那就换个方式,看视频,看网上教程,上github,都是很好的方法。3、自动化数据服务,主要提供流式数据服务,从数据采集、数据处理、数据建模、数据可视化,到最终生成数据报表,通过python构建完整的数据链。数据采集??:requests、scrapy数据处理:pandas、numpy数据建模:scipy、scikit-learn、statesmodel、keras数据可视化:matplotlib、seaborn、bokeh、pyecharts数据上报:dash以python操作excel为例,使用xlwings生成自动化图表。1.简单介绍xlwings接下来实战:1.准备一张表2.对表进行各种操作,导入xlwings库,命名为xwimportxlwingsasxw与活动工作簿建立连接#这里使用books方法引用工作簿wb=xw.books["商品列表.xlsx"]type(wb)xlwings.main.Book查看工作簿名称wb.name'商品列表.xlsx'实例化工作表对象sht=wb.sheets['表1']查看表1中A1单元格的内容#标准用法sht.range('A1').value'category'#简明用法sht['A1'].value'category'#索引用法sht[0,0].value'category'查看表1中A1-D8所有单元格的内容sht.range('A1:D8').valueoutput:[['category','数量(件)','单价(元)','总价(元)'],['坚果',5.0,30.0,150.0],['罐头',9.0,10.0,90.0],['牛肉',3.0,60.0,180.0],['果汁',10.0,9.0,90.0],['蜂蜜',2.0,80.0,160.0],['进口零食',4.0,70.0,280.0],['总计',33.0,43.166666666666664,950.0]]sht[:8,:4].valueoutput:[['类别','数量(件)','单价(元)','总价(元)'],['坚果',5.0,30.0,150.0],['罐头',9.0,10.0,90.0],['牛肉',3.0,60.0,180.0],['果汁',10.0,9.0,90.0],['蜂蜜',2.0,80.0,160.0],['进口零食',4.0,70.0,280.0],['合计',33.0,43.166666666666664,950.0]]将表1中B2的第5格改为7sht.range('B2')。value=7ImportdataframetypedataintoTable2Step1:JoinTable2Step2:生成dataframetypedatasetStep3:ImportSheet2sht_2=wb.sheets['Table2']importpandasaspddf=pd.DataFrame({'name':['小王','小张','小李'],'age':[23,26,19]})dfimport:sht_2.range('B1').value=dfimportnumpyarrayintotable2importnumpyasnpobj=np.array([[1,2,3],[4,5,6]])obj输出:array([[1,2,3],[4,5,6]])Import:sht_2.range('F1').value=obj将excel中的数据导出为DataFrame格式sht_2.range('B1').options(pd.DataFrame,expand='table').value用matplotlib绘制并将图片粘贴到excel上importmatplotlib.pyplotaspltfig=plt.figure(figsize=(4,4))plt.plot([1,2,3,4,5])sht_2.pictures.add(fig,name='MyPlot',update=True)Output:>修改Sheet3中A1单元格的宽高连接表3sht_3=wb.sheets['Table3']查看A1单元格的宽高#查看列宽sht_3.range('A1').column_width8.11#查看行高sht_3.range('A1').row_height13.8A1单元格高度改为15.6,宽度改为2.2sht_3.range('A1').column_width=2.2sht_3.range('A1').row_height=15.6修改表3B1单元格颜色#查看B1单元格单元格颜色sht_3.range('B1').color(255,0,0)修改B1单元格颜色为黑色sht_3.range('B1').color=(0,0,0)写一个小的自动化脚本deff():sht_3.range("A1:AZ48").column_width=1.1sht_3.range('A1:AZ48').row_height=7.8list_1=pd.read_csv('zaike.csv').valuesfori,jinlist_1:sht_3[int(i),int(j)].color=(255,25,0)f()list_1=[]foriinrange(30):forjinrange(40):c=sht_3[i,j].colorifc==(255,0,0):list_1.append((i,j))这些小例子可以运行,您可以在电脑上运行,也可以手写每一个代码,让您高效掌握。如果不熟悉python语法,最好先熟悉一下框架,多做练习。今天的分享就到这里啦~