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 文件。