Orrr. Figured it out and made the importer working:
Turned out, the last line of the CSV contained the headers again. Deleting 
this line fixed it.

The debug question remains open ;)

Moritz schrieb am Samstag, 21. Januar 2023 um 18:32:05 UTC+1:

> Hi,
>
> I've exported my Amazon transactions into a `CSV` file using the `Amazon 
> Order History Reporter` extension. The file looks like this:
>
> ```
> order id,order date,quantity,description,price
> 300-1000000-1000000,2022-10-26,1,"Foo","19.99"
> 300-1000000-2000000,2022-11-18,1,"bar","39.95"
> ``` 
>
> I came up with this config file:
>
> ```
>
> from beancount.ingest.importers.csv import Importer as CSVImporter, Col
>
> my_amazon_csv_importer = CSVImporter({
>                         Col.DATE: 'order date',
>                         Col.NARRATION1: 'description',
>                         Col.AMOUNT: 'price'
>                         },
>                        'Expenses:Amazon', # account
>                        'EUR', # currency
>                         # regexps used by ImporterProtocol.identify() to 
> identify the correct file
>                        #('order id,order date,quantity,description,price' 
>                       
>                        #),
>                        skip_lines=0
>                        )
>
>
> CONFIG = [my_amazon_csv_importer] 
> ```
> to extract the transactions with:
>
> ```
> bean-extract config_amazon_csv.py amazon_order_history_2022.csv
> ```
>
> But this fails with:
> ```
> ERROR:root:Importer beancount.ingest.importers.csv.Importer: 
> "Expenses:Amazon".extract() raised an unexpected error: Unknown string 
> format: order date
> Traceback (most recent call last):
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/beancount/ingest/extract.py",
>  
> line 182, in extract
>     new_entries = extract_from_file(
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/beancount/ingest/extract.py",
>  
> line 67, in extract_from_file
>     new_entries = importer.extract(file, **kwargs)
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/beancount/ingest/importers/csv.py",
>  
> line 294, in extract
>     date = parse_date_liberally(date, self.dateutil_kwds)
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/beancount/utils/date_utils.py",
>  
> line 45, in parse_date_liberally
>     return dateutil.parser.parse(string, **parse_kwargs_dict).date()
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/dateutil/parser/_parser.py",
>  
> line 1368, in parse
>     return DEFAULTPARSER.parse(timestr, **kwargs)
>   File 
> "/home/user/beancount/.venv/lib/python3.10/site-packages/dateutil/parser/_parser.py",
>  
> line 643, in parse
>     raise ParserError("Unknown string format: %s", timestr)
> dateutil.parser._parser.ParserError: Unknown string format: order date
> ;; -*- mode: beancount -*-
> ```
>
> What annoys me the most here is, that I cannot find a way to just call the 
> `bean-extract config_amazon_csv.py amazon_order_history_2022.csv` part just 
> from the `config_amazon_csv.py` file or another python script.
> That would make it easy to set a breakpoint in my editor to check what is 
> happening exactly.
> As I'm quite new to python: what is the proper way of calling bean-extract 
> for debugging purposes?
>
> So any pointers highly appreciated to get my amazon transactions to 
> beancount format.
>
> Moritz
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/f8fe2510-89e2-49d9-8b9b-8a58b06569afn%40googlegroups.com.

Reply via email to