2

我正在从网页解析数据,有时这些表格有不必要的回车,这给我带来了问题。我想删除回车,但一个简单的 strip() 不起作用。

我有以下代码:

html = """
<table>
<tr>
<td>
Commercial, financial and agricultural</td>
<td>
791
</td>
</tr>
</table>
"""

soup = BeautifulSoup(''.join(html))
table = soup.find('table')

rows = table.findAll('tr')
for tr in rows:
    rowdata = ''
    columns = tr.findAll('td')
    for td in columns:
        cell = ''.join(td.findAll(text=True))
        cell.strip()
        rowdata = rowdata+'|'+cell
    print rowdata

输出是:

|
Commercial, financial and agricultural|
791

我希望输出为:|商业、金融和农业|791

为什么 strip 函数不删除回车符?

4

1 回答 1

3
>>> cell = 'text\n'
>>> cell.strip()
'text'
>>> rowdata = '|' + cell
>>> print rowdata
|text

>>> rowdata = '|' + cell.strip()
>>> print rowdata
|text

Strip 正在删除返回值,但 strip 返回一个值。它不会将单元格设置为等于任何值。试试rowdata = rowdata + '|' + cell.strip()

于 2012-05-11T03:10:49.240 回答