用python读取ms字

时间:2015-02-28 02:36:13

标签: python ms-word

我试图用StringIO读取ms字。但不知何故输出变成奇怪的字符串

from docx import Document
import StringIO
import cStringIO

files = "D:/Workspace/Python scripting/test.docx"


document = Document(files)

f = cStringIO.StringIO()
document.save(f)
contents = f.getvalue()
print contents

感谢您提前提供任何帮助

1 个答案:

答案 0 :(得分:1)

document.save(f)将文件保存为字符串,格式为.docx文件。然后,您正在读取该字符串,这与f=open(files).read()完全相同。如果您想要文档中的文本,则应该使用python-docx的API。我之前没有使用它,但文档在这里:

https://python-docx.readthedocs.org/en/latest/index.html

看起来你可以使用这样的东西:

paragraphs=document.paragraphs

这是文档中Paragraph个对象的列表。您可以像这样得到该段的tex:

text="\n".join([paragraph.text for paragraph in paragraphs])
然后

text将包含文档的文本。