Estoy usando python-docx para crear un documento con una tabla que quiero completar a partir de datos textuales. Mi texto se ve así:
01:02:10.3 a: Lorem ipsum dolor sit amet, b: consectetur adipiscing elit. a: Mauris a turpis erat. 01:02:20.4 a: Vivamus dignissim aliquam b: Nam ultricies (etc.)
Necesito organizarlo en una tabla como esta (usando ASCII para visualización):
+---+--------------------+---------------------------------+ | | A | B | +---+--------------------+---------------------------------+ | 1 | 01:02:10.3 | a: Lorem ipsum dolor sit amet, | | 2 | | b: consectetur adipiscing elit. | | 3 | | a: Mauris a turpis erat. | | 4 | ------------------ | ------------------------------- | | 5 | 01:02:20.4 | a: Vivamus dignissim aliqua | | 6 | | b: Nam ultricies | +---+--------------------+---------------------------------+
sin embargo, necesito hacer que todo lo que esté después de "a:" esté en negrita, y todo lo que esté después de "b:" no, mientras ambos ocupen la misma celda . Es bastante fácil iterar y organizar esto de la manera que quiero, pero no estoy muy seguro de cómo poner en negrita solo algunas de las líneas:
IS_BOLD = { 'a': True 'b': False } row_cells = table.add_row().cells for line in lines: if is_timestamp(line): # function that uses regex to discern between columns if row_cells[1]: row_cells = table.add_row().cells row_cells[0].text = line else row_cells[1].text += line if IS_BOLD[ line.split(":")[0] ]: # make only this line within the cell bold, somehow.
(Esto es una especie de pseudocódigo, estoy haciendo un poco más de procesamiento textual, pero eso es un poco irrelevante aquí). Encontré una pregunta probablemente relevante en la que alguien usa algo llamado run
, pero me resulta difícil entender cómo aplicarlo a mi caso.
¿Alguna ayuda? Gracias.