python - 有 OrderedDict 理解吗?

标签 python beautifulsoup

我不知道是否有这样的事情 - 但我正在尝试做一个有序的 dict 理解。但是它似乎不起作用?

import requests
from bs4 import BeautifulSoup
from collections import OrderedDict


soup = BeautifulSoup(html, 'html.parser')
tables = soup.find_all('table')
t_data = OrderedDict()
rows = tables[1].find_all('tr')
t_data = {row.th.text: row.td.text for row in rows if row.td }

现在它仍然是一个正常的 dict 理解(我也省略了对汤样板的通常请求)。 有什么想法吗?

最佳答案

您不能直接使用 OrderedDict 进行推导。但是,您可以在 OrderedDict 的构造函数中使用生成器。

试穿一下尺寸:

import requests
from bs4 import BeautifulSoup
from collections import OrderedDict


soup = BeautifulSoup(html, 'html.parser')
tables = soup.find_all('table')
rows = tables[1].find_all('tr')
t_data = OrderedDict((row.th.text, row.td.text) for row in rows if row.td)

关于python - 有 OrderedDict 理解吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895660/

相关文章:

python - 如何在 Python 模拟中调用模拟方法

python - 从 .csv 中读取 URL 列表以使用 Python、BeautifulSoup、Pandas 进行抓取

python - 将复杂格式的文本解析为python数据表

Python BeautifulSoup 提取 PHP 链接

python - 为什么导入 Mechanize 会破坏我的 aws ec2 Elastic Beanstalk flask "hello world"python 应用程序?

来自外部创建的文件的 python pyinotify 事件

python - 有没有一种特殊的方法来抓取动态网站?

python-3.x - 从 BS4 到 lxml 解析器的代码转换

python - 如何在 ipynb 文件中连接到远程内核?

具有额外选项的 Python/Django 日志记录