SingleOutputEcospold1Importer returns "NameError: name 'filename' is not defined"
SingleOutputEcospold1Importer returns "NameError: name 'filename' is not defined"
我正在尝试导入 ecoinvent 3.4 截止数据库,所以我写道:
import brightway2 as bw
[...]
fpei34 = r'C:\Users\Me\Anaconda3\ecoinvent 3.4_cutoff_ecoSpold02\MasterData'
if 'ecoinvent 3.4 cutoff' in bw.databases:
print("Database has already been imported")
else:
ei34 = bw.SingleOutputEcospold1Importer(fpei34, 'ecoinvent 3.4 cutoff')
ei34.apply_strategies()
ei34.statistics()
我得到答案:
NameError: name 'filename' is not defined.
也说明问题出在使用SingleOutputEcospold1Importer
的那一行。
你知道我犯了什么错误吗?我该如何安排代码?
您的代码至少有两个问题:
- 您正在使用 SingleOutputEcospold1Importer
导入器。从 ecoinvent v3 开始,ecoinvent 数据库已移至 ecoSpold2 文件,因此您应该改用 SingleOutputEcospold2Importer
。
- 您的文件路径 fpei34
似乎是用于主数据,而不是数据集本身。您应该寻找一个名为 datasets
的文件夹,其中包含超过 14000 个 spold 文件。
我正在尝试导入 ecoinvent 3.4 截止数据库,所以我写道:
import brightway2 as bw
[...]
fpei34 = r'C:\Users\Me\Anaconda3\ecoinvent 3.4_cutoff_ecoSpold02\MasterData'
if 'ecoinvent 3.4 cutoff' in bw.databases:
print("Database has already been imported")
else:
ei34 = bw.SingleOutputEcospold1Importer(fpei34, 'ecoinvent 3.4 cutoff')
ei34.apply_strategies()
ei34.statistics()
我得到答案:
NameError: name 'filename' is not defined.
也说明问题出在使用SingleOutputEcospold1Importer
的那一行。
你知道我犯了什么错误吗?我该如何安排代码?
您的代码至少有两个问题:
- 您正在使用 SingleOutputEcospold1Importer
导入器。从 ecoinvent v3 开始,ecoinvent 数据库已移至 ecoSpold2 文件,因此您应该改用 SingleOutputEcospold2Importer
。
- 您的文件路径 fpei34
似乎是用于主数据,而不是数据集本身。您应该寻找一个名为 datasets
的文件夹,其中包含超过 14000 个 spold 文件。