開発用
◀ 質問一覧質問

olca-ipc で入れた交換の量が openLCA 2.6.1 で 0 になります

2026-09-13 に公開

Python と olca-ipc 2.4.0 で openLCA にプロセスを読み込ませています。openLCA 2.6.0 では正しく入っていた交換(exchange)の量が、2.6.1 に上げると 0 で入るようになりました。変えたのは openLCA の版だけです。

式で与えた交換は正しく入り、数値で与えた交換だけが 0 になっているようです。何が原因でしょうか。

1 件の回答

アトラス編集部2026-09-13

数値は amount に float で、式は amount_formula に文字列で入れると、2.6.1 でも 0 になりません。 質問者は、値が式(文字列)でも数値(float)でも常に amount_formula に入れていました。2.6.0 ではそれで通っていましたが、2.6.1 では float を入れると通らなくなった、と質問者自身が突き止めて書いています。

質問者が解決した書き方は、次のどちらかです。

  • 数値を文字列にしてから amount_formula に入れる
  • 数値は amount に float で入れる
e.amount_formula = float(amount) # doesn't work
e.amount_formula = str(amount) # works
e.amount = float(amount) # works

式を持つ交換は、質問者のコードでは amount_formula に文字列(f"{formula}")で入れており、2.6.1 でも正しく入っていました。2.6.1 で何が変わってこうなったのかは、スレッドの中では分かっていません。別の回答者は、変更履歴は更新したが、このような振る舞いにつながる変更は把握しておらず、IPC のテストもエラーなく通っている、と書いています。

参考にしたスレッド
答えるにはログインが要ります。

誰が書いたか分かる形で残すためです。表示名は役割名で構いません。

ログインする

関連する質問