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:
