背景
之前接手到一个处理word的项目,需要读取word内容,并对字符进行一系列处理。一开始笔者使用java处理,需要引入第三方模块——poi。说实话,这个第三方模块对于word的处理不够完善,第一没有很好的写入方式,第二没有很好的样式处理机制,第三没有封装java的io流,仍然需要笔者手动创建和关闭io资源。
在之后的资料中查询到可以使用python的docx模块很快速处理word文件,使用快捷方便,几行代码就可以实现读写,并且很好的支持word的样式。但是docx模块只支持docx类型。
搭建环境
搭建平台是macOS10.12.6,一般mac上是自带python的,但是版本普遍较低,目录位置为/Library/Python,以后安装的其他版本也在相同的目录下。
终端$python --version 查看python的版本
这边可以使用pyenv来管理python的各个版本,笔者这边是使用IDE(python编译环境)管理的。如果选择pyenv,请参考http://www.jianshu.com/p/1927349cb6a2(即使不使用pyenv,笔者还是推荐下载brew——mac的统一依赖包管理器),如果选择IDE管理,请到官网下载PyCharm,https://www.jetbrains.com/pycharm/download/#section=mac(python编译器,但是不像第一种管理方式,其不支持下载),请到官网下载其他python版本:https://www.python.org/
IDE方式
这里笔者也选择了第二种方式
在栏目PyCharm下选择Pereferences,如图选择可以切换编译器的python版本
不同的版本切换对代码的编译可能会造成影响。
引入docx模块
python处理word也需要引入第三方模块,一般使用pip去下载python的第三方模块。
mac里面python自带easy_install
$sudo easy_install pip 输入密码下载pip,笔者强烈建议不要在系统自带的python下折腾,因为mac系统下很多软件都依赖python模块,如果系统出错,概不负责。
先去官网下载其他版本的,然后设置环境变量,sudo vim /etc/profile,编辑添加export PATH=xxxx:$PATH,其中xxxx为下载后python的路径,参考搭建环境。
$python --version 查看版本是否更改,之后执行$sudo easy_install pip,然后再执行$pip install docx模块。
然后读者就可以再当前python版本的目录下看到pip模块和docx模块了。如图:
之后再python代码中引入docx模块即可使用。参考官方手册:https://python-docx.readthedocs.io/en/latest/