要从python中的字符串中拆分产品名称和评级吗

2024-05-18 23:32:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把这根线和其他许多类似的线分开。它们都是关于产品及其评级的信息,前面是产品名称,后面是评级

"Moooni Modern Rectangular Raindrop Crystal Chandelier Ceiling Lighting Fixture Rectangle Pendant Flush Mount LED Light for Dining Room L 40x W 12x H 31.54.8 out of 5"

每种产品的评级都不一样,所以我必须这样划分:

actual rating = float()
for price in catalogue:
    priceslicer = price.split("{actualrating} out of 5")
    pr1 = priceslicer[0]
    pr2 = priceslicer[1]

但是,正如您所看到的,这对于上面的字符串来说是一个问题,在这些字符串中,检查就在一些数字之后。如何拆分字符串以获得实际评级(5分之4.8),而不是“31.54.8”中的错误


Tags: of字符串信息for产品outpricecrystal
2条回答

首先,检查源数据,如果你能按照上面的建议找到一条出路,那么这就是你的最佳选择。其次,如果您无法控制,并且您确定您的行以“out of 5”结尾,并且您的评分从0.0到9.9,那么您可以使用下面的正则表达式

import re
re.search(r"(\d(.\d)?) out of 5$", s)

你从哪里得到你的字符串?如果它来自数据库,您可以在所述数据库中为它们分配不同的字段。还是从一个列表中?若它来自一个列表,你们可以考虑使用列表中的列表吗? e、 g

catalogue = [["Moooni Modern Rectangular Raindrop Crystal Chandelier Ceiling Lighting Fixture Rectangle Pendant Flush Mount LED Light for Dining Room L 40x W 12x H 31.5", 4.8][...other product, other rating]]

我在过去的一个项目中就这样做过,效果非常好

相关问题 更多 >

    热门问题