全网最新用python实现各种文件类型转换的方法
作者:星幻夜极 发布时间:2021-02-21 08:57:42
标签:python,文件类型,转换
一、word转pdf
先安装win32库:pip install pywin32
from win32com.client import gencache
from win32com.client import constants, gencache
def createPdf(wordPath, pdfPath):
"""
word转pdf
:param wordPath: word文件路径
:param pdfPath: 生成pdf文件路径
"""
word = gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open(wordPath, ReadOnly=1)
doc.ExportAsFixedFormat(pdfPath,
constants.wdExportFormatPDF,
Item=constants.wdExportDocumentWithMarkup,
CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
word.Quit(constants.wdDoNotSaveChanges)
createPdf('D:\桌面\论文阅读笔记.docx','D:\桌面\论文阅读笔记.pdf')
运行结果:
二、excel转pdf
# Import Module
from win32com import client
# Open Microsoft Excel
excel = client.Dispatch("Excel.Application")
# Read Excel File
sheets = excel.Workbooks.Open('F:\书籍借阅信息.xlsx')
work_sheets = sheets.Worksheets[0]
# Convert into PDF File
work_sheets.ExportAsFixedFormat(0, 'F:\书籍借阅信息.pdf')
# 关闭服务
excel.Quit()
运行结果:
三、ppt转pdf
# 1). 导入需要的模块(打开应用程序的模块)
import win32com.client
import os
def ppt2pdf(filename, output_filename):
"""
PPT文件导出为pdf格式
:param filename: PPT文件的名称
:param output_filename: 导出的pdf文件的名称
:return:
"""
# 2). 打开PPT程序
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# ppt_app.Visible = True # 程序操作应用程序的过程是否可视化
# 3). 通过PPT的应用程序打开指定的PPT文件
# filename = "C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pptx"
# output_filename = "C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pdf"
ppt = ppt_app.Presentations.Open(filename)
# 4). 打开的PPT另存为pdf文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(output_filename, 32)
print("导出成pdf格式成功!!!")
# 退出PPT程序
ppt_app.Quit()
# 要处理的目录名称
dirname = 'D:\桌面\智能算法设计与实现'
# 列出指定目录的内容
filenames = os.listdir(dirname)
# for循环依次访问指定目录的所有文件名
for filename in filenames:
# 判断文件的类型,对所有的ppt文件进行处理(ppt文件以ppt或者pptx结尾的)
if filename.endswith('ppt') or filename.endswith('pptx'):
# print(filename) # PPT素材1.pptx -> PPT素材1.pdf
# 将filename以.进行分割,返回2个信息,文件的名称和文件的后缀名
base, ext = filename.split('.') # base=PPT素材1 ext=pdf
new_name = base + '.pdf' # PPT素材1.pdf
# ppt文件的完整位置: C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pptx
filename = dirname + '/' + filename
# pdf文件的完整位置: C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pdf
output_filename = dirname + '/' + new_name
# 将ppt转成pdf文件
ppt2pdf(filename, output_filename)
运行结果:
四、图片转pdf
from PIL import Image
import os
# 防止字符串乱码
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
def pic2pdf(img_path, pdf_path):
file_list = os.listdir(img_path)
for x in file_list:
if "jpg" in x or 'png' in x or 'jpeg' in x:
pdf_name = x.split('.')[0]
im1 = Image.open(os.path.join(img_path, x))
im1.save(pdf_path + pdf_name + '.pdf', "PDF", resolution=100.0)
if __name__ == '__main__':
# 待转换图像路径
img_path = r"D:\桌面\\"
# 转换后的pdf存放路径
pdf_path = r'D:\桌面\\'
pic2pdf(img_path=img_path, pdf_path=pdf_path)
五、pdf转word
先安装:pip install pdf2docx
from pdf2docx import Converter
pdf_file = r'D:\桌面\论文阅读笔记.pdf'
docx_file = r'D:\桌面\论文阅读笔记.docx'
cv = Converter(pdf_file)
cv.convert(docx_file, start=0, end=None)
cv.close()
六、pdf转图片
先安装:pip install pdf2image
from pdf2image import convert_from_path
pages = convert_from_path('D:\桌面\论文阅读笔记.pdf', 500)
# 保存
for page in pages:
page.save('D:\桌面\论文阅读笔记.jpg', 'JPEG')
# 多图保存
for index, img in enumerate(pages):
img.save('E:\识别\page_%s.jpg' % (index+1))
如果报错pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?
则需要安装配置poppler:
Windows的poppler下载地址:http://blog.alivate.com.au/poppler-windows/
解压缩后,将C:\Program Files\poppler-0.68.0\bin(可以放在其他位置)添加进环境变量-系统变量-path中,重启生效:
七、csv转excel
import pandas as pd
data = pd.read_csv('F:/train.csv',index_col=0)
data.to_excel('F:/train.xlsx',encoding='utf-8')
八、excel转csv
import pandas as pd
data = pd.read_excel('F:/train.xlsx',index_col=0)
data.to_csv('F:/train.csv',encoding='utf-8')
来源:https://blog.csdn.net/m0_46388544/article/details/125540794
0
投稿
猜你喜欢
- Python程序的注释感觉很不合群,对于习惯了使用/**/多行注释的人来说,到Python中只能使用#号进行单行注释很痛苦。# 这里是单行注
- MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement;
- 引言:在机器学习还有深度学习中,经常会用到这几个函数,为了便于以后熟练使用,现在对这几个函数进行总结。(一)np.random.rand()
- 前言图像分割在医学成像、自动驾驶汽车和卫星成像等方面有很多应用,本质其实就是图像像素分类任务,也就是使用深度学习模型为输入图像的每个像素分配
- 本文为大家介绍了一段来源于网络上的代码实例,能够合并单元格,下面和大家分享一下,希望能够给需要的朋友或多或少带来一定的帮助。代码实例如下:&
- 方法一:#导入math包import math#定义点的函数class Point: def __init__(self,x=0
- 在MySQL服务器启动时,它检查其命令行的操作,来查看它是否应该执行登录并打开相应的日志文件(如果应该的话)。可以让服务器生成两种主要类型的
- #{} 和 ${} 的区别#{} 匹配的是一个占位符,相当于 JDBC 中的一个?,会对一些敏感字符进行过滤,编译过后会对传递的值加上双引号
- 1.JSONObject介绍JSONObject-lib包是一个beans,collections,maps,java arrays和xml
- RabbitMQ可以当做一个消息代理,它的核心原理非常简单:即接收和发送消息,可以把它想象成一个邮局:我们把信件放入邮箱,邮递员就会把信件投
- 许可和分发权限Access 2003 Developer Extensions随附的许可协议简化了解决方案或代码段的分发过程。这些协议包括免
- 1。注意用SQL分析器可以看select出来的东西select right(convert(varchar(30),getdate(),12
- 本文实例为大家分享了python名片管理系统的具体代码,供大家参考,具体内容如下import oslist_all = []def page
- 看到有人在有汉字的字符串 前加一个 ‘ 或是任意半角符号,让bug将其除掉,不过这样做太麻烦了。最后呢,找来一个模拟fgetcsv功能的函数
- 本文介绍了通过Cursor 工具使用GPT-4的方法。Cursor 是集成了 GPT-4 的 IDE 工具,目前免费并且无需 API Key
- 1 查看当前的device输入情况:import torchprint("Default Device : {}".fo
- 代码如下:USE TestDB declare @conversation uniqueidentifier while exists (s
- 本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:工作需要将Java项目的逻辑改为python
- 近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此
- asp中利用XMLhttp对象获取远程的数据,然后用二进制输出到客户浏览器,让客户下载数据,此例从某一远程服务器获取一个压缩包,并且输出到浏