Python 2.7 BeautifulSoup for my loop正在以单独的行打印数据。如何在一行中打印
我从一个HTML文件中获得了以下示例HTML表。Python 2.7 BeautifulSoup for my loop正在以单独的行打印数据。如何在一行中打印,python-2.7,beautifulsoup,Python 2.7,Beautifulsoup,我从一个HTML文件中获得了以下示例HTML表。 我正在试着打印来自 <table> <tr> <th>Class</th> <th class="failed">Fail</th> <th class="failed">Error</th> <th>Skip</th>
我正在试着打印来自
<table>
<tr>
<th>Class</th>
<th class="failed">Fail</th>
<th class="failed">Error</th>
<th>Skip</th>
<th>Success</th>
<th>Total</th>
</tr>
<tr>
<td>Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2</td>
<td class="failed">1</td>
<td class="failed">9</td>
<td>0</td>
<td>219</td>
<td>229</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td class="failed">1</td>
<td class="failed">9</td>
<td>0</td>
<td>219</td>
<td>229</td>
</tr>
</table>
输出为:
Class
Fail
Error
Skip
Success
Total
我希望输出如下:
Class Fail Error Skip Success Total
如何在一行中打印所有内容
谢谢,Riaz默认情况下,每次有
print
语句时,Python都会添加一个换行符。如果在要打印的项目列表的末尾添加逗号,Python将在末尾添加一个空格,而不添加换行符。您需要做的是:
替换
print item.text
与
在打印完列表中的所有内容后(即在功能的最后),您还需要进行一次
打印。这将把终止的换行符放在列表的末尾。您知道如何排除显示“总计”的标记吗?我不想把这部分打印出来我的代码是:td=soup.find_all('td')for item in td:print item.text,@RiazLadhani你想打印td
标记的内容,除了第三个tr
中的内容(选择该tr
特别是因为它的第一个td
包含总计)?是的,没错。我认为在索引列表时可以使用类似的索引。我不知道实现这一点的语法,这将更加复杂。您可能想做的是获取tr=soup。查找所有('tr')
,使用tr.firstChild().tag='td'
和'Total'在tr.firstChild().contents
中打印它的子项,如果它不是,则打印它的子项。
print item.text
print item.text,