我正在抓取第二列中具有更多信息的两列表。
state | count | pct
Florida | 1 (1) | 0.5
Colorado | 10 (<1)| 1.0
运行脚本时,通常会得到以下变化:
1 \xa0\xa0\xa0\xa0\xa0(<1)
要么
10 \xa0\xa0\xa0\xa0\xa0(10)
对于第二个单元格。
我只对第一个数字感兴趣,因此BeautifulSoup的输出看起来像:
[[u'Florida', u'1'], [u'Colorado', u'10']]
这样的事情可能吗?
最佳答案
假设您有rows
:
>>> rows = [
... [u'Florida', u'1 \xa0\xa0\xa0\xa0\xa0(1)'],
... [u'Colorado', u'10 \xa0\xa0\xa0\xa0\xa0(<1)']
... ]
拆分
count
并获得第一部分:>>> rows = [[state, count.split()[0]] for state, count in rows]
>>> rows
[[u'Florida', u'1'], [u'Colorado', u'10']]