从python中的超链接中的模板创建多文件docx

时间:2018-06-15 15:27:22

标签: python python-docx

我试图创建一个从file.docx开始的python程序,而file.csv创建多个.docx文件。 问题是原始文件包含在创建新文件时丢失的超链接

这是我的python程序

from docx import Document
from docx.shared import Inches

import csv
import os


f = open('file.csv')
nometofind = '[nome]'
cognometofind = '[cognome]'
reader = csv.reader(f)
next(reader)
for row in reader:

    cognome=row[0]
    nome=row[1]

    nometoreplace = nome
    cognometoreplace = cognome

    document = Document('OriginalFile.docx')

    for par in document.paragraphs:
        par.text = par.text.replace(nometofind, nometoreplace)
        par.text = par.text.replace(cognometofind, cognometoreplace)

    document.save(nome+cognome+'.docx')

f.close()

这是may original docx的一个例子

  

[nome] [cognome]电子邮件example@example.com

输出文件就像这些

  

输出文件1->约翰史密斯电子邮件

     

输出文件2-> mario rossi电子邮件

1 个答案:

答案 0 :(得分:0)

Ciao,这是如何使用“ python-docx ”库获取DOCX文件中的链接

    from docx import Document
    from docx.opc.constants import RELATIONSHIP_TYPE as RT

    document = Document('nameFile.docx')
    rels = document.part.rels

    def leggiLink(rels):
        for rel in rels:
            if rels[rel].reltype == RT.HYPERLINK:
                yield rels[rel]._target
    print('print link inside file: nameFile.docx')

    for i in leggiLink(rels):
        print(i)