仅在数据库字段值等于某个特定值时才匹配交易所
我想找一种方法,在Brightway LCI的交换中,当 database 字段对应特定名称(例如 "My DB")时,能够将其匹配到项目中的一个给定数据库。
我的用例如下:项目中有若干数据库,每个数据库都可能包含重叠的活动。因此,它们有许多共同的属性(或字段)(名称、参考流、位置、单位等)。然而,这些活动的交换项可能会改变。因此,除了我们通常在 match_database 中使用的字段之外,在执行匹配时,我还想根据 database 字段的取值来过滤交换项。举例来说,我希望能够把项目数据库 "Database 1" 的某些交换项与之匹配,但仅限那些 database 字段等于 "db-1" 的项。
match_database 方法似乎无法处理这种情况。当前,如果我执行 imported_db.match_database("Database 1", fields=["name", "unit", "location", "reference product"]),它可能会匹配到一些交换项,即使它们的 database 字段是 "db-2"。
请注意,在Activity Browser中导入Excel数据库时,会弹出一个对话框,要求将交换中提到的所有数据库名称映射到正确的Brightway项目数据库。因此,我猜它在我的场景中执行了类似的处理。
如何在brightway25中执行此类筛选或映射?
解决方案
what about?
imported_db.match_database("Database 1", fields=["name", "unit",
"location", "reference product","database"])
它应该检查交换项的数据库属性,只将匹配的项关联起来。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。