今天介绍一下文本数据的提取和转换,这里主要实例的转换为excel文件(.xlsx)转换world文件(.doc/docx),同时需要使用win32api,同pywin32库。
pandas库我之前的博客里面都有详细的介绍和使用,这里主要介绍下win32库。
PyWin32是一个Python库,可以为Python提供Windows扩展。换句话说,它允许您访问各种Windows功能 - 至少Microsoft Office的功能 - 而无需使用Microsoft的一种语言,如Visual Basic或C#。
win32com模块的下载:https://sourceforge.net/projects/pywin32/files/pywin32/(对应你的windows版本)
同时分享Galal Aly's博主:http://new.galalaly.me/2011/09/use-python-to-parse-microsoft-word-documents-using-pywin32-library/
Pywin32库的一些概念:
1.PyWin32是一个包装器,它使您可以使用Visual Basic for Applications(VBA)中提供的相同方法和属性,但使用Python的语法。
2.这是Word 2007开发人员参考,有用的部分是对象模型参考。我必须检查它们以了解可用的方法和属性,因此它们非常重要。
3.在任何参考资料中,您都会找到一些用VBA编写的示例。您所要做的就是将它们转换为Python的语法。
首先介绍下win32com:
1.因为你使用的是中国汉字,windows中文本文档大多数都是汉子处理,所以前提一定要加上# coding: UTF-8。
2.引入win32com模块。
3.打开world应用程序,python操作world程序以便写入文件。
4.是否在桌面打开world程序,这里的False就是不需要打开,反之为True。
这里主要介绍win32api的一些属性,主要为操作world文档所使用:
这里需要特别注意的是,SaveAs为另存文件,即可以不需要创建文件,另一个是打开指定文档,这里如果你不需要存入一个文档的话,就只需要打开一个文档存到另一个文档也可以,这里可以doc可以转换docx文件。
但是,如果你都要操作在你个world文件内,那么就需要追加一个docx文件内:
这里只需要Save即可,原理就是打开一个指定的world文件,将数据存入进去后保存即可。
这里关于world文件的保存和添加介绍完。
下面介绍些world文件的一些属性:
1、页面属性:
2、页面布局:
3、表格:
贴上Pandas模块和win32com的完整代码(主要看分布):
这里主要注意下下操作world程序和for循环的位置就可以了,还有close,不然你的程序就会报错,因为你打开一个world程序未关闭,再次打开windows会提示未保存文档不可操作,所以程序会报错!
网友评论