Python3--自动化办公
主要记一下Python对办公文件的简单处理,如word、excel、pdf、csv及ppt。因为内容比较多,不细究原理了,直接写应用吧~
Word
- 写入Word文件。注:使用了win32com模块,只能在win系统下使用...
import win32com import win32com.client import os def makeWord(fileName,name):# 打开word应用程序word=win32com.client.Dispatch("Word.Application")#让文档可见word.Visible=True#创建文档doc=word.Documents.Add()#写内容,从头开始r=doc.Range(0,0)#开始插入内容r.InsertAfter("有人喜欢小溪,是因为没见过大海。")r.InsertAfter("我看过银河,可我只爱一粒星--"+name)#存储文件 doc.SaveAs(path)#关闭文件 doc.Close()#退出word word.Quit()names=["张三","李四","王五"] for name in names:#获取当前绝对路径来存放文件path=os.path.join(os.getcwd(),name)makeWord(path,name)
- 读取Word文件
import win32com import win32com.client import osdef readWord(path):#调用系统word功能,可以处理doc和docx文件mw=win32com.client.Dispatch("Word.Application")#打开文件doc=mw.Documents.Open(path)for par in doc.Paragraphs:line=par.Range.Textprint(line)#关闭 doc.Close()#退出word mw.Quit()path = os.path.join(os.getcwd(),'张三.docx') readWord(path)#有人喜欢小溪,是因为没见过大海。我看过银河,可我只爱一粒星--张三
Excel
- 写入xls文件 注:这里使用了pyexcel_xls,需要另行安装(pip install pyexcel_xls)
#有序字典 from collections import OrderedDict from pyexcel_xls import save_datadef makeExce(path,data):#有序字典dic = OrderedDict()for sheetName,sheetValue in data.items():d = {}d[sheetName] = sheetValue#此格式的有序字典,sheetName为子表名,sheetValue为表中的数据 dic.update(d)#保存 save_data(path,dic)path = r"C:\Users\Administrator\Desktop\make.xls" #只能写xls格式的excel文件 makeExce(path,{"表1":[[1,2,3],[4,5,6]],"表2":[[11,22,33],[44,55,66]]})
- 读取xls 或 xlsx文件
from collections import OrderedDict from pyexcel_xls import get_datadef readXls(path):dic=OrderedDict()#抓取数据xdata=get_data(path)for sheet in xdata:dic[sheet]=xdata[sheet]#返回的是有序字典return dicpath=r"C:\Users\Administrator\Desktop\make.xls" dic=readXls(path) print(dic['表1'][1])#[4, 5, 6]
PPT
- 写入PPT
import win32com import win32com.clientdef makePpt(path):ppt = win32com.client.Dispatch("PowerPoint.Application")# 让文档可见ppt.Visible = True#增加一个文件pptFile = ppt.Presentations.Add()#创建页 参数1为页数(从1开始)参数2为类型(主题)page1 = pptFile.Slides.Add(1,1)t1 = page1.Shapes[0].TextFrame.TextRanget1.Text = "sunck"t2 = page1.Shapes[1].TextFrame.TextRanget2.Text = "sunck is a good man"#保存 pptFile.SaveAs(path)pptFile.close()ppt.Quit()path=r"C:\Users\Administrator\Desktop\make.ppt" makePpt(path)
CSV
- 写csv文件
import csvdef writeCsv(path,data):#使用这个newline=""可以解决win下自动添加空行的问题with open(path, "w",newline="") as f:writer = csv.writer(f)for row in data:#整行写入,这里是二维列表,一个一维列表写为一行 writer.writerow(row)path = r"C:\Users\Administrator\Desktop\make.csv" data = [['admin','admin','admin'],['byadmin','byadmin','byadmin'],['byadmin','byadmin','byadmin']] writeCsv(path,data)
读取csv文件
import csvdef readCsv(path):contentList = []with open(path,"r") as f:allFileInfo = csv.reader(f)for row in allFileInfo:contentList.append(row)return contentList path = r"C:\Users\Administrator\Desktop\make.csv" print(readCsv(path)) #[['admin', 'admin', 'admin'], ['byadmin', 'byadmin', 'byadmin'], ['byadmin', 'byadmin', 'byadmin']]
- 读PDF PDF转TXT需安装pdfminer3k(pip install pdfminer3k)
import sys import importlib importlib.reload(sys)from pdfminer.pdfparser import PDFParser,PDFDocument from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LTTextBoxHorizontal,LAParams from pdfminer.pdfinterp import PDFTextExtractionNotAlloweddef readPdf(path,toPath):f=open(path,"rb")#创建一个pdf文档分析器parser=PDFParser(f)#创建一个PDF文档pdfFile=PDFDocument()#连接分析器与文档对象 parser.set_document(pdfFile)pdfFile.set_parser(parser)#提供初始化密码 pdfFile.initialize()#检测文档是否提供txt转换if not pdfFile.is_extractable:raise PDFTextExtractionNotAllowedelse:#解析数据#数据管理器manager=PDFResourceManager()#创建一个PDF设备的对象laparams=LAParams()device=PDFPageAggregator(manager,laparams=laparams)#解析器对象interpreter=PDFPageInterpreter(manager,device)#开始循环处理,每次处理一页for page in pdfFile.get_pages():interpreter.process_page(page)#处理图层layout=device.get_result()for x in layout:if (isinstance(x,LTTextBoxHorizontal)):with open(toPath,"a") as f:str=x.get_text()#print(str)f.write(str+"\n")path=r"C:\Users\Administrator\Desktop\英语语法.pdf" toPath=r"C:\Users\Administrator\Desktop\res.txt" #从pdf文件提取字符保存到txt文件 readPdf(path,toPath)
转载于:https://www.cnblogs.com/byadmin/articles/useful-1.html
Python3--自动化办公相关推荐
- python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- python自动化办公培训排名-盘点使用Python进行自动化办公所需要的知识点
三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...
- python自动化办公:邮件篇 (定时邮件问候女票so easy)
前言和准备工作 如果你能找到一个要看邮件的女票哈,本文能帮你用程序实现在每天不同时间段给女友定时给女友发消息,不错过早上,中午.晚安! 而你自己却可以玩游戏,不管这回事. 你告诉我看邮件的女生少,别着 ...
- python自动化办公:word篇。职场高手不是梦。
工具包安装 使用的库:docx python 没有自带.需要安装. 若运行出现:ModuleNotFoundError: No module named 'exceptions' 则说明安装失败,需要 ...
- python自动化办公知识点整理汇总_Python自动化办公知识点整理汇总
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量 ...
- Python自动化办公知识点整理汇总
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人 ...
- python自动化_python自动化办公?学这些就够用了
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处 ...
- python自动化办公入门书籍-盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
- python自动化办公都能做什么-盘点使用Python进行自动化办公所需要的知识点
三军可夺帅也,匹夫不可夺志也. 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动 ...
- python怎么自动化录入数据_Python自动化办公之–读取Excel 录入表单
前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一.环境准备 1.1 Python 3.7.0 1.2 Pycharm (Python 开发工具) 1.3 Selenium ...
最新文章
- 前端Vue学习之路(五)插件的使用
- 遗传算法解决01背包
- Linux makefile 教程
- Android jdbc连接mysql报错解决方案 (Communications link failure)
- Linux下安装Jboss
- java中isolate时间_flutter/dart里面,一个isolate一般heap多大?
- vim配置文件~/.vimrc
- AI算法的进步超越了摩尔定律!
- MySQL架构与历史【v1】【励志把高性能MySQL吃掉】
- Spring MVC 学习总结(五)——校验与文件上传
- 【Docker容器】进入容器的2种方式
- ACAD shx字体格式之BigFont
- python题目58:工厂流水线调度
- 泰灏咨询的使命及愿景
- excel几个表合成一张_excel多表如何合并到一张表格
- nbu新增media server过程简介
- Java调用百度/高德地图API实现根据经纬度查地名
- 苹果计算机做视频教程,Mac版Final Cut Pro x使用技巧及视频教程
- 70.爬楼梯(简单)
- 运营推广一款新的app到底需要哪些完整步骤?
热门文章
- 【译】Look-ahead Staking in Qtum - What does that even mean?
- 【译】Getting Started With Ethereum and Building Basic Dapp — Part 1
- Android 插件化原理解析——Activity生命周期管理
- Ubuntu系统如何安装nodejs及npm
- mysql试题百度云_BATJ大厂600多道技术面试题及答案解析
- php mysql 获取错误_php怎样获取mysql错误信息
- python简单可视化聊天界面_如何用Python制作可视化输入界面
- tcga数据下载_TCGA数据下载(mRNA)
- hdu3691(无向图最小割的求解)
- [加强版] Codeforces 835D Palindromic characteristics (回文自动机、DP)