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.