2

我是 Brightway2 的初学者。结果使我的生活复杂了几个星期,我找不到任何解决方案。我已经通过各种技巧处理了它,但我仍然想了解这个问题:例如,当我在数据库中搜索名称为“玻璃”的活动时,我会得到“苯酚”、“多硫化物生产”等活动。 .. 即使我看这些活动的描述,我也不明白(这让我的生活有点复杂)。(db = ecoinvent 3.6) 有什么想法吗?也许这不是此类问题的正确位置...提前谢谢您。让

code:
activity_name = 'glazing'
myProducts = []

for activity in Database("ecoinvent 3.6 APOS").search(activity_name, filter={"location" : 'RER'}): 
    myProducts.append(activity)
myProducts

出去:

['glazing production, triple, U<0.5 W/m2K' (square meter, RER, None),
 'glazing production, double, U<1.1 W/m2K' (square meter, RER, None),
 'glazing production, double, U<1.1 W/m2K, laminated safety glass' (square meter, RER, None),
 'polysulfide production, sealing compound' (kilogram, RER, None),
 'phenol production' (kilogram, RER, None),
 'phenol production' (kilogram, RER, None),
 'methacrylic acid production' (kilogram, RER, None)]
4

1 回答 1

1

搜索按预期工作:您正在寻找术语glazing,它显示在所有给定的结果中。例如commenttopolysulfide production有句子:

This dataset is primarily used in the glazing production.

如果您只想要glazing标题中的活动:

only_glazing = [ds for ds in Database("something") if 'glazing' in ds['name']]

您还可以进行测试ds['name'].lower()以获得案例独立性。

一般来说,使用列表推导式搜索会产生比 更合理的结果.search,后者更适合数据探索。

于 2020-03-11T16:35:32.510 回答