本篇文章内容为使用python 读取word文档和创建word文档
读取doc文件
引入类库
示例如下:
import win32com
import win32com.client
import os
读取doc文件
通过得到的doc文件路径调用系统word功能。
打开文件获取其中的文本信息,输出文本信息,最后关闭文件。
示例如下:
def read_word(path):
# 调用系统word功能,可以处理doc和docx两种文件
mw = win32com.client.Dispatch('Word.Application')
# 打开文件
doc = mw.Documents.Open(path)
for paragraph in doc.Paragraphs:
line = paragraph.Range.Text
print(line)
# 关闭文件
doc.Close()
# 退出word
mw.Quit()
调用读取
创建一个测试文件输入一点内容,放置文件到当前文件夹下,调用上方的函数。
示例如下:
path = os.path.join(os.getcwd(), './测试文件.doc')
read_word(path)
效果如下:
读取文件并存储
读取word文件并存储到其他文件。
引入类库
示例如下:
import win32com
import win32com.client
import os
读取并存储
读取word doc文件中的文本内容,存储到txt文件中。
示例如下:
def read_word_to_other(path, toPath):
mw = win32com.client.Dispatch('Word.Application')
# 打开文件
doc = mw.Documents.Open(path)
# 将word数据保存到另一个文件
doc.SaveAs(toPath, 2) # 2表示为txt文件
doc.Close()
mw.Quit()
path = os.path.join(os.getcwd(), './测试文件.doc')
toPath = os.path.join(os.getcwd(), './测试文件.txt')
read_word_to_other(path, toPath)
执行后在当前目录下创建出‘测试文件.txt’
效果如下:
创建word文件
封装一个创建word文件的函数,并通过循环调用。
示例如下:
import win32com
import win32com.client
import os
def create_word(path):
word = win32com.client.Dispatch('Word.Application')
# 文档可见
word.Visible = True
# 创建文档
doc = word.Documents.Add()
# 从头开始写内容
word_r = doc.Range(0, 0)
word_r.InsertAfter('你好,' + name + "\n")
word_r.InsertAfter(' 好久不见,你过的好吗。。。。。。')
# 存储文件
doc.SaveAs(path)
doc.Close()
word.Quit()
names = ['黄伟杰', '黄小优', '于健康']
for name in names:
path = os.path.join(os.getcwd(), name)
create_word(path)
执行结果:
总结
本篇文章内容为使用python 读取word文档和创建word文档