【发布时间】:2021-09-03 18:40:46
【问题描述】:
我想检索活动的所有输入和输出的名称(可能还有其他信息)。据我了解,这将使我能够例如查看电力生产组合包含哪些单独的投入。
首先,我通过ecoinvent_db = bw.Database('ecoinvent 3.7.1_cutoff') 选择一个数据库并搜索可能与我的目标相关的活动。
输入:
ecoinvent_db.search('electricity production mix')
输出:
['electricity, high voltage, production mix' (kilowatt hour, CH, None),
'electricity, high voltage, production mix' (kilowatt hour, AU, None),
'electricity, high voltage, production mix' (kilowatt hour, TZ, None),
'electricity, high voltage, production mix' (kilowatt hour, TH, None),
'electricity, high voltage, production mix' (kilowatt hour, MT, None),
'electricity, high voltage, production mix' (kilowatt hour, RU, None),
'electricity, high voltage, production mix' (kilowatt hour, PE, None),
'electricity, high voltage, production mix' (kilowatt hour, IR, None),
'electricity, high voltage, production mix' (kilowatt hour, MX, None),
'electricity, high voltage, production mix' (kilowatt hour, JP, None),
'electricity, high voltage, production mix' (kilowatt hour, CL, None),
'electricity, high voltage, production mix' (kilowatt hour, CY, None),
'electricity, high voltage, production mix' (kilowatt hour, MY, None),
'electricity, high voltage, production mix' (kilowatt hour, UA, None),
'electricity, high voltage, production mix' (kilowatt hour, IS, None),
'electricity, high voltage, production mix' (kilowatt hour, TW, None),
'electricity, high voltage, production mix' (kilowatt hour, KR, None),
'electricity, high voltage, production mix' (kilowatt hour, SA, None),
'electricity, high voltage, production mix' (kilowatt hour, ID, None),
'electricity, high voltage, production mix' (kilowatt hour, ZA, None),
'electricity, high voltage, production mix' (kilowatt hour, CA-YK, None),
'electricity, high voltage, production mix' (kilowatt hour, CA-ON, None),
'electricity, high voltage, production mix' (kilowatt hour, CA-PE, None),
'electricity, high voltage, production mix' (kilowatt hour, CA-NF, None),
'electricity, high voltage, production mix' (kilowatt hour, CA-NS, None)]
接下来,我想将这些活动之一分配给一个变量(我可以稍后在循环中执行此操作)。在其中一个示例笔记本中,通过database.get() 将活动分配给变量。然而,在笔记本给出的示例中,活动的名称只是一个字符串。在 ecoinvent 的情况下,活动的名称不是唯一的,db.search(str) 将给定的活动返回为'activity_name' (unit, region, None)'。
如果我使用ecoinvent_db.get(),然后使用括号中的上述输出之一,我会收到ActivityDatasetDoesNotExist 错误。
我可以选择一个随机活动并通过以下方式打印名称:
activity = bw.Database("ecoinvent 3.7.1_cutoff").random()
for exchange in activity.exchanges():
print(exchange)
但是,activity_exchanges = list(activity.exchanges()) 只会产生以下结果。
如何将来自 ecoinvent 的活动分配给变量并访问或将其属性(例如名称、交换等)添加到列表或字典?
【问题讨论】:
标签: brightway