list - 如何替换这个嵌套循环?
问题描述
这里的目标是从网站获取文本并将其附加到列表中,这样我就可以从中创建一个数据框。经过大量 Google 之后,我设法做到了这一点,但现在我明白这不是最有效的方法,一直在研究列表理解,但无法获得成功的结果。
containers = soup.find_all('td', class_=['TableRecords_EvenLine', 'TableRecords_OddLine'])
dateli = []
descli = []
amtli = []
for container in containers:
date = container.select('div[id*=wtDataMov]')
for element1 in date:
seci1 = element1.get_text()
dateli.append(seci1)
description = container.select('div[id*=wtDescricao]')
for element2 in description:
seci2 = element2.get_text()
descli.append(seci2)
amount = container.select('div[id*=wtValorEur]')
for element3 in amount:
seci3 = element3.get_text()
amtli.append(float(price_str(seci3)))
想法?谢谢你的时间。
解决方案
如果你想使用列表推导来完成它,它看起来像这样
containers = soup.find_all('td', class_=['TableRecords_EvenLine', 'TableRecords_OddLine'])
dateli = []
descli = []
amtli = []
for container in containers:
dateli += [e.get_text() for e in container.select('div[id*=wtDataMov]')]
descli += [e.get_text() for e in container.select('div[id*=wtDescricao]')]
amtli += [float(price_str(e.get_text())) for e in container.select('div[id*=wtValorEur]')]
推荐阅读
- vb.net - 谁能看到我为什么会收到错误,{“ExecuteReader:连接属性尚未初始化。”}?
- javascript - 如何在同一页面中将数据从 javascript 传递到 php
- vba - 将图表从一个工作簿复制到另一个工作簿
- javascript - React 需要渲染两次才能更新我的值
- go - 多个围棋例程的一个障碍
- php - 我想通过retrofit2 api从Mysql数据库中获取数据
- r - r:如何将值插入特定模式
- javascript - Discord.js 将成员移动到不同的语音频道
- postgresql - Postgres:限制用户查看模式的能力
- hangouts-api - 编辑和删除的环聊聊天消息不会发送到机器人