python处理office总结
说明
近期做python处理office的一些文档,遇到很多问题,这里总结一下,有做相关开发的可以参考学习,存在问题的地方,还望赐教!(好多问题都是自己琢磨的,网上很多资源只能参考,还各种收费,大家都懂的,路过觉得有用留下印记感谢)
1、版本号
1.1 python= 3.11.7
1.2 国内镜像源
清华大学的源 https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple
豆瓣:http://pypi.douban.com/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
使用方式:pip install you_module_name -i 镜像地址
2、遇到的问题
2.1 word转pdf
# 相关的依赖
pip install docx2pdf
from docx2pdf import convert
def docx_to_pdf(docx_path, pdf_path):
# 网上很多相关的信息,这个转的是比较好的,还原度极高测试过很复杂的都能完美还原
# 将 Word 文档转换为 PDF
convert(docx_path, pdf_path)
2.2 pdf转html
需要插件pdf2htmlEX github地址 https://github.com/coolwanglu/pdf2htmlEX
官网地址: https://wang-lu.com/pdf2htmlEX/
可以接近100%还原
import subprocess
def convert_pdf_to_html(input_pdf_path, output_html_path):
# 使用 pdf2htmlEX 工具将 PDF 转为 HTML
process = subprocess.Popen(['you/path/pdf2htmlEX.exe', input_pdf_path, output_html_path])
process.communicate()
# if result.returncode != 0:
# if result.stderr is not None:
# print("Conversion failed. Error message:", result.stderr.decode())
2.3 pdf转word
注意:
借助win32com 库,实现文档的转换,可以处理docx、doc 转 pdf 其中17为pdf,这个库的功能很强大,但是需要借助office,必须安装office否则为出问题。另外这个库使用必须的小心,没事结束后对后台进程的关闭,否则为内存泄漏,卡死等问题的出现。下边是简单的demo,其他功能参考使用文档, 中文手册 http://www.yfvb.com/help/win32sdk/
依赖下载 pip install pywin32com
from win32com import client
word = client.Dispath("Word.Application")
doc = word.Document.Open(wordPath)
doc.SaveAs(pdfPath)
2.4 收费的office处理
spire提供的api,可以完美处理 文档之间的转换
官网地址:https://www.e-iceblue.com/Tutorials.html
提供了很多语言的api
python使用有一些功能限制,需要一定的收费
3、python对excel的处理
3.1 xlsx 转 xls
注意:
需要安装依赖xlwings,这个可以用在pandas读取excel时,高版本报错问题处理。
pip install xlwings
import xlwings
def xlsx_to_xls(input_path, output_path):
"""
input_path:输入的地址 D:\youpath\xxxx.xlsx(绝对地址)
output_path: 输出的地址 D:\youpath\ccc.xls(绝对地址)
# 每个线程创建独立的启动器
xlwingsApp = xlwings.App(visible=False, add_book=False)
xlwingsApp.display_alerts = False # 关闭一些提示信息 默认为 True。
xlwingsApp.screen_updating = False # 更新显示工作表的内容。默认为 True
try:
# 打开一个工作簿
wb = xlwingsApp.books.open(input_path)
# 保存工作簿
wb.save(output_path)
# 关闭工作簿和 Excel 应用程序实例
wb.close()
finally:
xlwingsApp.quit()
4、python对word文档处理
可以参考python处理word
后边持续更新。。。