【发布时间】:2022-08-19 16:11:16
【问题描述】:
我有一些代码使用 bs4 从主要转售网站获取价格和其他数据,然后将其附加到 JSON 格式。我想将所有价格附加到一个列表中,这样我就可以对它们进行平均并找到平均零售价。
不幸的是,我尝试过的所有东西似乎只为每个价格创建了一个不同的列表:
try:
price = item.select_one(\'.s-item__price\').text
except:
price = None
value = Decimal(sub(r\'[^\\d.]\', \'\', price))
a = str(value)
b = list(a.split())
输出 b 结果:
[\'20.00\']
[\'199.95\']
[\'48.99\']
[\'100.00\']
[\'119.00\']
[\'19.99\']
[\'35.00\']
[\'85.00\']
[\'39.00\']
[\'27.66\']
[\'75.00\']
如图所示,它返回多个无法求和的列表。输出价格会返回类似的结果,不带括号。我使用 Decimal 去除本地化符号的价格,得到小数。然后我将其转换为字符串,因为它给了我一个错误,说浮点数不可迭代。使用 itertools 也不起作用。
如何获得如下格式?
prices = [20.00, 199.45, ... 75.00]
抱歉,如果这是一个明显的问题,我是 Python 的新手。
-
请出示minimal reproducible example,不要试图将python代码硬塞进JavaScript sn-p
-
当你说“输出这个结果:\”时,输出什么?我假设它的
b? -
@tygzy 是的,我已经相应地进行了编辑
-
@MadPhysicist LOL 那个比喻
-
@j1-lee 它显示的字符串类似于 \"b\" 的输出,但没有括号。如果有些东西不清楚,我再次道歉,因为如前所述,我对此很陌生。
标签: python list web-scraping beautifulsoup python-jsons