首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Brightway时,我是否应该删除与我删除的活动相关的交换?

在使用Brightway时,我是否应该删除与我删除的活动相关的交换?
EN

Stack Overflow用户
提问于 2017-04-18 16:02:45
回答 1查看 141关注 0票数 0

这个问题与我提出的关于使用Brightway 2从代理活动创建活动的前一个问题有关。问题是:如果我决定删除代理活动,是否应该修改交易所表?

比方说,我决定在魁北克建立一个热泵,使用瑞士的热泵,但要适应电力的来源。

代码语言:javascript
复制
#identify the activity supplying electricity from Quebec
for ds in Database('ei_33cutoff'):
   if ('market for electricity, low voltage' in ds['name']) &   (ds['location']=='CA-QC'):
       print(ds['name'])
       print(ds['code'])

elw_qc=Database('ei_33cutoff').get('44389eae7d62fa9d4ea9ea2b9fc2f609')

#identify the proxy activity
for ds in Database('ei_33cutoff'):
    if ('heat production, air-water' in ds['name']) & (ds['location']=='CH'):
       print(ds['name'],ds['location'],ds['code'])

hp_proxy=Database('ei_33cutoff').get('694d03f60920c0f7d964c08db1c67226')

#create a copy of the proxy
hp_qc=hp_proxy.copy()

#update location
hp_qc['location']='CA-QC'

#update electricity exchange
elect_to_hp = [exc for exc in hp_qc.technosphere() if 'electricity, low voltage' in exc['name']][0]
elect_to_hp['input']=elw_qc
elect_to_hp.save()

#store my new activity in the database

hp_qc.save()

但是,如果在此过程中,我创建了一个包含错误的代理活动,或者出于我不再想要的其他原因。我应该如何从包含错误的活动中“清除”数据库?hp_qc.delete()是否足够?在存储在不同的表中。数据库中活动和交换SQLite。我想知道,我是否在“污染”交易所与与不再存在的活动有关的交易所,这可能会在未来带来问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 19:57:25

调用Activity.delete()删除所有交易所,其中您的活动是消费者,即所有进入交易所。它不会删除其他活动使用您的参考产品的交易所,但据我所知,在本例中没有任何这样的交换。

有许多方法可以“清理”数据库,尽管这种清理在这种情况下并不是必要的。最简单的可能是学习如何使用交换对象,然后您可以删除任何您想要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43477048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档