activity-browser icon indicating copy to clipboard operation
activity-browser copied to clipboard

Excel database exporter broken

Open marc-vdm opened this issue 6 months ago • 1 comments

Updating AB

  • [X] Yes, I have updated AB and still experience this issue

What happened?

To reproduce: File > Export database > Choose database & excel > Finish

Same database bw2package works without issue

Potentially related:

  • #1105
  • #1106
  • #514

Relevant errors

Traceback (most recent call last):
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\activity_browser\ui\wizards\db_export_wizard.py", line 38, in accept
    self.perform_export()
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\activity_browser\ui\wizards\db_export_wizard.py", line 52, in perform_export
    EXPORTERS[export_as](db_name, out_path)
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\activity_browser\bwutils\exporters.py", line 96, in write_lci_excel
    data = ABCSVFormatter(db_name, objs).get_formatted_data(sections)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 202, in get_formatted_data
    data = self.get_unformatted_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 187, in get_unformatted_data
    "activities": [self.get_activity(obj) for obj in self.objs],
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 187, in <listcomp>
    "activities": [self.get_activity(obj) for obj in self.objs],
                   ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 148, in get_activity
    data["exchanges"] = self.get_exchanges(act)
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 142, in get_exchanges
    exchanges = [self.exchange_as_dict(exc) for exc in act.exchanges()]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2io\export\csv.py", line 142, in <listcomp>
    exchanges = [self.exchange_as_dict(exc) for exc in act.exchanges()]
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\activity_browser\bwutils\exporters.py", line 52, in exchange_as_dict
    data.update(**{k: inp[k] for k in inp_fields if inp.get(k)})
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\activity_browser\bwutils\exporters.py", line 52, in <dictcomp>
    data.update(**{k: inp[k] for k in inp_fields if inp.get(k)})
                                                    ^^^^^^^^^^
  File "<frozen _collections_abc>", line 774, in get
  File "C:\Users\meidemtvander\.conda\envs\abd\Lib\site-packages\bw2data\backends\peewee\proxies.py", line 125, in __getitem__
    if key in rp.get('classifications', []):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'float' is not iterable

Operating system

Windows 10

Conda environment

No response

marc-vdm avatar Jan 12 '24 15:01 marc-vdm

Just to add that bw2package export works in this case, but import on another machine fails using said package.

mrvisscher avatar Jan 15 '24 08:01 mrvisscher