python 修改文件名_一文了解Python自动化办公知识点

微信公众号:Python编程Python
问题或建议,请公众号留言;欢迎订阅

这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。自动化办公无非是excel、ppt、word、邮件、文件处理、数据分析处理、爬虫这些,这次就来理一理python自动化办公的那些知识点。

  • python基础

  • excel自动化

  • ppt自动化

  • word自动化

  • 邮件处理

  • 文件批量处理

  • 数据处理与分析

  • 自动化爬虫

python基础

881fd2e3a7136083e86660dc57bb67df.png

excel自动化

 1用python操作excel需要安装xlrd、xlwt(或者其他的模块也行)。
2读取excel文件:workbook = xlrd.open_workbook('filename.xlsx')
3获取所有表名:sheet_names = workbook.sheet_names()
4通过索引顺序获取一个工作表:sheet0 = workbook.sheets()[0] || sheet1 = workbook.sheet_by_index(1)
5通过名称获取一个工作表:sheet3= data.sheet_by_name(u'sheetname')
6获取表的行、列大小:rows = sheet.nrows || cols = sheet.ncols
7获取指定行、列的值:col0_value = sheet.col_valsue(0) || row0_value = sheet.row_values(0)
8创建工作对象:wk = xlwt.Workbook(encoding='utf-8')
9添加sheet对象:sheet0 = wk.add_sheet(sheetname,cell_overwrite=True)
10将值写入单元格:sheet0.write(row,col,value)
11保存文件:wk.save('filename.xls')

office家族其实都可以用VBA解决自动化的问题,但可能很多人不会用。python针对excel有很多的第三方库可以用,比如xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils等等。这些库可以很方便地实现对excel文件的增删改写、格式修改等,当然并不推荐你全部都去尝试一下,这样时间成本太大了。使用xlwings和pandas这两个就够了,基本能解决excel自动化的所有问题。xlwing不光可以读写excel,还能进行格式调整、VBA操作,非常强大且易于使用。之前写过一个xlwings的入门教程:xlwings,让excel飞起来!以及xlrd、xlwt的使用:教你使用Python批量读写excel文件

ppt自动化

此时主要用到的包是pptx

  • 主要用到的方法:
    导入ppt模板:
    添加文本框,并给文本框附文字等等

示例:

 1prs = Presentation(path + "\\model\\*****.pptx")
2elbtslide = prs.slides.add_slide(prs.slide_layouts[6])  # 在幻灯片中加入一页6号风格(空白)幻灯片
3title_only_slide_layout = prs.slide_layouts[0]
4slide = prs.slides.add_slide(title_only_slide_layout)
5shapes = slide.shapes
6subtitle = slide.placeholders[1]
7#设计标题
8shapes.title.text = '板桥河下坝闸站点'.center(10)
9#添加副标题
10subtitle.text = (now.strftime("%Y-%m-%d %H:%M:00") + '\r\n' + 'author:quqinran').center(10)
11#添加图片
12slide.shapes.add_picture(r'F:\PycharmProjects\test\PPT\标题图片.png', Inches(0), Inches(0),Inches(13))

word自动化

python操作Word的库:python-docx、import docx:只对windows平台有效pypiwin32、import win32com:跨平台,但无法处理doc格式的word文本,doc格式不是基于xml的textract、import textract:它同时兼顾“doc”和“docx”,但安装过程需要一些依赖。你可以批量的用python生成word文件,推荐使用docx,不需要会太多。

示例

 1import docx
2doc=docx.Document(r'C:\Users\shenlu\Desktop\demo.docx')
3len(doc.paragraphs)
4doc.paragraphs[0].text
5doc.paragraphs[1].text
6len(doc.paragraphs[1].runs)
7doc.paragraphs[1].runs[0].text
8doc.paragraphs[1].runs[1].text
9doc.paragraphs[1].runs[2].text
10doc.paragraphs[1].runs[3].text

邮件处理

python处理邮件也是极其便利的,smtplib、imaplib、email三个库配合使用,实现邮件编写、发送、接收、读取等一系列自动化操作,省时省力。写过一个发送邮件教程,亲测可用:干货 | 解放双手,用Python实现自动发送邮件
看了其他很多教程都有各种各样的问题,需要不断改bug,所以这个大家先可以跑跑上面的代码。

文件批量处理

文件处理包括批量修改或创建文件名、批量生成文档、批量修改路径等等重复性操作。如果一个个手工操作,那真的心累。python在处理批量操作有得天独厚的优势,成千上万的文件修改可能只需几秒的时间。os是python文件操作的库,可以实现对电脑上文件的增删改查。

示例:批量修改文件夹

 1import os
2path=input('请输入文件路径(结尾加上/):')       
3#获取该目录下所有文件,存入列表中
4f=sorted(os.listdir(path))
5n=0
6n1=1000
7for i in f:  
8    #设置旧文件名(就是路径+文件名)
9    oldname=path+f[n]
10    #设置新文件名
11    newname=path+'a'+str(n1+1)+'.jpg'
12    #用os模块中的rename方法对文件改名
13    os.rename(oldname,newname)
14    print(oldname,'======>',newname)
15    n+=1
16    n1+=1

数据处理和分析

是python自动化办公最有价值的部分。数据处理的库主要有:pandas、numpy、matplotlib、sklearn…
pandas是一款不断进步的python数据科学库,它的数据结构十分适合做数据处理,并且pandas纳入了大量分析函数方法,以及常用统计学模型、可视化处理。
如果你使用python做数据分析,在数据预处理的过程,几乎九成的工作需要使用pandas完成。
在一些企业招分析师的笔试题中,pandas已经作为必考的工具,所以如果你想要入行数据分析师,请努力学习使用pandas。
numpy是python的数值计算库,包括pandas之类的很多分析库都建立在numpy基础上。

自动化爬虫

相信爬虫是大家最感兴趣的,python爬虫有很多的实现库,比如:urllib、requests、scrapy等,以及xpath、beautifulsoup等解析库。

示例简单爬虫

Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:
urllib.urlopen()方法用于打开一个URL地址。
read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。

1#coding=utf-8
2import urllib
3def getHtml(url):
4    page = urllib.urlopen(url)
5    html = page.read()
6    return html
7html = getHtml("http://tieba.baidu.com/p/2738151262")
8print (html)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值