我试图用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
感谢您提前提供任何帮助
答案 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
将包含文档的文本。