python处理office总结

本文总结了使用Python处理Office文档过程中遇到的问题,包括word转pdf、pdf转html、xlwings在不同格式间转换等,以及推荐的工具和注意事项。还提到了SpireAPI的收费版功能和win32com库的使用风险。
摘要由CSDN通过智能技术生成

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

后边持续更新。。。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值