首页 > 解决方案 > 如何使用python创建html表

问题描述

我有一个我想放入 html 表格的国家/地区列表。

places = ['Japan','China','North Korea', 'South Korea', 'Vietnam', 'Taiwan', 'Philippines', 'Myanmar']

现在我只有这个代码,它只把<td></td>放在每个国家的开始和结束。我在如何放置<tr>以及</tr>它读取的每个第三行或国家/地区遇到困难。其实我也不知道怎么弄哈哈哈。(请注意,在我的代码中,我仅print用于显示我想要的输出,稍后我将使用 write)

for x in places:
    print('<td>' + x + '</td>')

输出:

<td>Japan</td>
<td>China</td>
<td>North Korea</td>
<td>South Korea</td>
<td>Vietnam</td>
<td>Taiwan</td>
<td>Philippines</td>
<td>Myanmar</td>

所需的输出:

<tr>
<td>Japan</td>
<td>China</td>
<td>North Korea</td>
</tr>

<tr>
<td>South Korea</td>
<td>Vietnam</td>
<td>Taiwan</td>
</tr>

<tr>
<td>Philippines</td>
<td>Myanmar</td>
</tr>

注意:地点列表的数量不固定。我的意思是有时它可能会变成这样的东西,places = ['Japan','China']或者只是places = ['Japan']

标签: pythonpython-3.x

解决方案


您可以使用列表切片

places = ['Japan','China','North Korea', 'South Korea', 'Vietnam', 'Taiwan', 'Philippines', 'Myanmar']

for i in range(0, len(places),3):
    row = "<tr>"
    for j in places[i:i+3]:
        row+=f"\n<td>{j}</td>"
    print(row+"\n</tr>")

输出:

<tr>
<td>Japan</td>
<td>China</td>
<td>North Korea</td>
</tr>
<tr>
<td>South Korea</td>
<td>Vietnam</td>
<td>Taiwan</td>
</tr>
<tr>
<td>Philippines</td>
<td>Myanmar</td>
</tr>

推荐阅读