[Python] Replace de textos no word importando dados do Excel

Discussão em 'Python' iniciado por Stack, Novembro 5, 2024.

  1. Stack

    Stack Membro Participativo

    Bom dia pessoal, estou iniciando na área de programação e estou tentando realizar um automatismo de preenchimento de um documento word importando dados de células do Excel. Aonde no word aonde será substituído terá o número da célula do Excel.

    Mas o replace só está ocorrendo se a célula ter letra, e terei algumas células somente com números. Teria outra variável que fizesse o reconhecimento tanto de letras quanto de número? Se sim, teria outro impacto em mais partes do código que estou utilizando?

    Biblioteca utilizada: docx

    from openpyxl import load_workbook
    from docx import Document
    from docx import *

    # Carregando uma planilha já existente
    bd = load_workbook('excel_teste.xlsx')

    # Carrega documento Word
    doc = Document('teste.docx')

    # Pegando uma aba específica (exemplo: aba1)
    aba_1 = bd['P2']

    # Percorrendo e lendo a primeira coluna
    for x in range(30):
    celula = 'B' + str(x + 3)
    texto = aba_1[celula].value

    for p in doc.paragraphs:
    if celula in p.text:
    inline = p.runs
    # Loop added to work with runs (strings with same style)
    for i in range(len(inline)):
    if celula in inline.text:
    text = inline.text.replace(celula, texto)
    inline.text = text

    for table in doc.tables:
    for row in table.rows:
    for cell in row.cells:
    for p in cell.paragraphs:
    if celula in p.text:
    inline = p.runs
    for i in range(len(inline)):
    if celula in inline.text:
    text = inline.text.replace(celula, texto)
    inline.text = text
    # save the modified document
    doc.save('updated.docx')

    Continue reading...

Compartilhe esta Página