如何在Python中将for循环的输出转换为单个字符串列表?

时间:2019-05-12 20:44:14

标签: python pandas beautifulsoup

使用BeautifulSoup,我已经从网页天气表中收集了数据。我设法通过遍历所有14行并按[0]进行索引来从特定列中抓取文本。

但是,通过遍历表行,它会将文本逐行以降序排列,例如:

Maandag 13 mei
Dinsdag 14 mei
Woensdag 15 mei
Donderdag 16 mei
Vrijdag 17 mei
Zaterdag 18 mei
Zondag 19 mei
Maandag 20 mei
Dinsdag 21 mei
Woensdag 22 mei
Donderdag 23 mei
Vrijdag 24 mei
Zaterdag 25 mei
Zondag 26 mei
Maandag 27 mei

print(list(days)不起作用,它只是将每个项目转换为一个单独的列表,并且仍然按降序排列。

TableRows = table.find_all('tr')

CleanTableRows = TableRows[2:]

for tr in (CleanTableRows):
    td = tr.find_all('td')
    rows = [item.text for item in td]

    days = rows[0]

    print(days)

我想将其转换为类似字符串的列表:

['Maandag 13 mei', 'Dinsdag 14 mei', 'Woensdag 15 mei', 'Donderdag 16 mei', 'Vrijdag 17 mei', 'Zaterdag 18 mei', 'Zondag 19 mei', 'Maandag 20 mei', 'dinsdag 21 mei', 'Woensdag 22 mei', 'Donderdag 23 mei', 'Vrijdag 24 mei', 'Zaterdag 25 mei', 'Zondag 26 mei', 'Maandag 27 mei'] 

这怎么实现?

1 个答案:

答案 0 :(得分:0)

这应该有效

data = []
for tr in (CleanTableRows):
    td = tr.find_all('td')
    rows = [item.text for item in td]

    days = rows[0]
    data.append(days)
    print(days)

print(data) # This is a list which contains all your days data