python操作wps/操作word/操作excle/操作ppt:文档专用模块或者二次开发

python调用wps/调用word/调用excle/调用ppt

在实际应用中,我们经常需要接触一些日常的文件,比如word(.doc/.docx)、excle(et)、ppt(.ppt/.pptx)。而python又是你掌握的编程语言,这个时候,你有以下两种选择:

方法一:专用模块

开源社区里提供了很多python专用的操作模块。我们以word文件为例:

有专门的word文档操作模块 python-docx

python-docx

github位置:github-python-docx

安装后就可以轻松用python对word文档进行编辑,但是在安装时一定要注意查阅Dependencis和Github上的描述部分:

会发现,python-docx需要lxml的支持(>=2.3.2),并且只能保证处理MS Office2007/2008的word。(挺坑的是吧)而且有python版本的限制。

后续在配置环境的时候你又会发现,还需要配置VC++14.0(4个多GB吧)。总之还是很麻烦的(开发环境配置得好的话无所谓。)。


同样的思路,操作excle,可以用xlrd:

lxrd官方页面


操作PPT,也有python-pptx:

python-pptx


感谢伟大的开源社区,给我们提供了这些很好用的软件,但是如果你不想或者不能花那么多时间配置你的开发环境,那也有其他的简便方式(比如你只是想做个简单文件、另存为、排个版之类的)。

方法二:win32com库接入MS office 或者WPS


com接口让我们可以轻松调用本机已经存在的程序来协助完成任务

具体如下:

先根据python版本安装合适的win32com库

然后输入:

import win32com
import win32com.client

wps=win32com.client.Dispatch('wps application')
这样你就成功挂载了wps。

一些WPS的版本在挂载时应该输入:

wps=win32com.client.Dispatch('kwps application')
ofiice 的话应该有另外的名称。

或者直接:

word=win32com.client.Dispatch('word application')
挂载其中的word组件

接下来,我们就可以使用所挂载程序的内部指令来对word.excle.ppt文件进行操作(基本无限制,如果安装了最新版本的office)

比如

Doc1=wps.Documents.Open(‘路径’)
打开文件,或者:

Doc1.Documents.SaveAs2(FileName=‘名称’,FileFormat=xdFormatText)
另存为TXT


具体想要的操作,可以参考对应软件的二次开发文档

比如 WPS V9 二次开发文档

几乎可以满足一切文件操作需要,比可视化操作只有多没有少。

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在 Python操作 Excel 并生成数据图,可以使用 openpyxl 和 matplotlib 库。以下是一个简单的示例代码: ```python import openpyxl from openpyxl import Workbook from openpyxl.chart import BarChart, Reference import matplotlib.pyplot as plt # 创建 Excel 文件并写入数据 workbook = Workbook() worksheet = workbook.active worksheet['A1'] = 'Category' worksheet['B1'] = 'Value 1' worksheet['C1'] = 'Value 2' worksheet['A2'] = 'A' worksheet['B2'] = 10 worksheet['C2'] = 20 worksheet['A3'] = 'B' worksheet['B3'] = 20 worksheet['C3'] = 30 workbook.save('data.xlsx') # 读取 Excel 文件中的数据 workbook = openpyxl.load_workbook('data.xlsx') worksheet = workbook.active data = [] for row in worksheet.iter_rows(min_row=2, values_only=True): data.append(row) # 生成柱状图 categories = [x[0] for x in data] values1 = [x[1] for x in data] values2 = [x[2] for x in data] fig, ax = plt.subplots() ax.bar(categories, values1, label='Value 1') ax.bar(categories, values2, bottom=values1, label='Value 2') ax.legend() plt.xticks(rotation=45) plt.xlabel('Category') plt.ylabel('Value') plt.title('Data Chart') plt.savefig('chart.png') # 将图表插入 Excel 文件 worksheet.add_chart(BarChart(), 'D1') chart = worksheet['D1'] chart.title = 'Data Chart' chart.x_axis.title = 'Category' chart.y_axis.title = 'Value' chart.add_data(Reference(worksheet, min_col=2, min_row=1, max_row=3), titles_from_data=True) chart.add_data(Reference(worksheet, min_col=3, min_row=1, max_row=3), titles_from_data=True) chart.set_categories(Reference(worksheet, min_col=1, min_row=2, max_row=3)) chart.shape = 4 workbook.save('data.xlsx') ``` 这个示例代码创建一个 Excel 文件,写入一些数据,然后读取数据并生成一个柱状图。最后,将图表插入 Excel 文件并保存。这个代码需要安装 openpyxl 和 matplotlib 库。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值