gpt4 book ai didi

python - BeautifulSoup 将表头复制到页脚

转载 作者:行者123 更新时间:2023-12-01 01:49:57 24 4
gpt4 key购买 nike

我有一个 HTML 表,其中只有 <thead>但没有<tfoot> 。需要使用 BeautifulSoup 将页眉复制到页脚。

表格如下所示:

<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
</tbody>
</table>

但是,我需要它看起来像这样:

<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
</table>

我想我需要使用 insert_after,但我很难了解如何复制 thead 的内容,创建新的 tfoot,并插入 <tr><th>值(value)观。我首先尝试循环遍历对象并创建标签和 insert_after :

table_headers = soup.find_all('th')

有什么想法吗?

最佳答案

这符合你的要求吗?我很惊讶插入soup.thead.tr对象将其从元素中删除了。注意copy()

    from copy import copy

orig = """<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
</tbody>
</table>
"""

soup = BeautifulSoup(orig)
tfoot = soup.new_tag('tfoot')
# XXX: if you don't copy() the object the <tr> element is removed from <thead>
tfoot.append(copy(soup.thead.tr))
soup.tbody.insert_after(tfoot)

关于python - BeautifulSoup 将表头复制到页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50824140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com