Я хочу отредактировать таблицу из файла .htm, которая выглядит примерно так:
<table>
<tr>
<td>
parameter A
</td>
<td>
value A
</td>
<tr/>
<tr>
<td>
parameter B
</td>
<td>
value B
</td>
<tr/>
...
</table>
Я сделал предварительно отформатированный шаблон в Word, который имеет красиво отформатированные атрибуты style = "". Я вставляю значения параметров в подходящие tds из плохо отформатированного файла .html (это вывод научной программы). Моя работа заключается в том, чтобы автоматизировать создание HTML-таблиц, чтобы их можно было использовать на бумаге.
Это отлично работает, в то время как шаблон имеет пустые экземпляры td в tr. Но когда я пытаюсь создать дополнительные tds внутри tr (который я повторяю), я застреваю. Методы .append и .append_after для строк просто перезаписывают существующие экземпляры td. Мне нужно создать новые tds, так как я хочу динамически создавать число столбцов, и мне нужно перебирать до 5 неформатированных входных файлов .html.
from bs4 import BeautifulSoup
with open('template.htm') as template:
template = BeautifulSoup(template)
template = template.find('table')
lines_template = template.findAll('tr')
for line in lines_template:
newtd = line.findAll('td')[-1]
newtd['control_string'] = 'this_is_new'
line.append(newtd)
=> Нет новых тдс. Последний просто перезаписан. Новый столбец не был создан.
Я хочу скопировать и вставить последний тд в ряд, потому что он будет иметь правильный стиль = "" для этой строки. Можно ли просто скопировать элемент bs4.ele со всем форматированием и добавить его в качестве последнего td в tr? Если нет, какой модуль / подход я должен использовать?
Заранее спасибо.