数据输出在以下代码中是水平的,可以垂直,非常感谢!
from bs4 import BeautifulSoup
import urllib2
url1 = "url"
content1 = urllib2.urlopen(url1).read()
soup = BeautifulSoup(content1,"lxml")
div = soup.find("form", {"name": "SelHorse"})
rows = div.findAll('table')[6].findAll('tr')
for row in rows:
print (row.text)
答案 0 :(得分:1)
您可以找到所有td
代码,然后使用str.join
。
<强>实施例强>
for row in rows:
if row:
print( " ".join(td.text.strip() for td in row.findAll("td") if td) )
答案 1 :(得分:1)
在你的打印声明中使用它:
print ((row.text).strip())
这将删除输入中的换行符,因此输出中间不会有空行。
对于逗号,你可以做的是:
for row in rows:
print ((row.text).strip() + ",")
注意:这将打印&#34;,&#34;即使在最后一行。为了避免这种情况,请单独打印该行。即在for循环之外。
答案 2 :(得分:0)
for循环中的每个单独的print语句都将创建一个新行。如果你想在一行中写下所有内容(我假设你的意思是这样),你必须在一个字符串中收集所有内容。用以下代码替换你的for循环:
output = ''
for row in rows:
output += row
print row