我希望使用读写方法将两个word文档合并到另一个文档中,但是它只能成功写入f1
word文档的内容。编写f2
字词doc不起作用。我尝试了以下方法:
# coding=utf-8
f=open('C:\Users\Desktop\word.doc','ab')
f1=open('C:\Users\Desktop\word1.doc','rb')
f2=open('C:\Users\Desktop\word2.doc','rb')
data1=f1.read()
data2=f2.read()
f.write(data1)
f.write(data2)
f1.close()
f2.close()
f.close()
答案 0 :(得分:1)
Microsoft Word document format不仅仅是纯文本。简单地串联两个文档根本不起作用,这就是您有效的做法。
以DOCX格式连接两个文档的正确方法是使用适当的模块打开它们-例如python-docx(或docx)-理解文档的内部结构(这是一个包含大量XML文件的zip压缩文件夹,您可以自行检查扩展名和解压缩内容)。< / p>
答案 1 :(得分:0)
非常感谢,索菲罗斯!我用下面的代码。它确实可以合并两个文档,但是仍然存在一些问题。它无法复制表格和图片。 enter image description here
# coding=utf-8
从docx导入文档
文件= ['C:\ Users \ lenovo \ Desktop \ word1.docx','C:\ Users \ lenovo \ Desktop \ word2.docx']
def Combine_word_documents(文件): merged_document = Document()
for index, file in enumerate(files):
sub_doc = Document(file)
# Don't add a page break if you've reached the last file.
if index < len(files)-1:
sub_doc.add_page_break()
for element in sub_doc.element.body:
merged_document.element.body.append(element)
merged_document.save('C:\\Users\\lenovo\\Desktop\\merged.docx')
combine_word_documents(文件)