emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ELPA] New package: csv2ledger


From: Joost Kremers
Subject: [ELPA] New package: csv2ledger
Date: Fri, 17 May 2024 16:24:14 +0200

Hi,

I would like to offer a new package I wrote for inclusion to Non-GNU ELPA:

https://codeberg.org/joostkremers/csv2ledger

`csv2ledger` does what it says: it converts CSV files to Ledger[1] entries. Most
banks offer the option to download transactions as a CSV file. With
`csv2ledger`, these can be converted to entries suitable for Ledger.

There are already many solutions to do this conversion, not the least Ledger
itself, which provides a `convert` command. None of these are Emacs-based,
however, and none that I know of offer the customisability that I needed myself.

`csv2ledger` is extremely customisable: with a little Elisp scripting, it is
able to handle just about anything a bank could come up with in a CSV file.
Also, the user can customise the Ledger entry in any way they see fit.[2] At the
same time, though, I tried to keep the basic configuration simple and useful
enough that it can be used without any Elisp scripting.

I'm proposing this package for inclusion into Non-GNU ELPA, not GNU ELPA,
because it depends on a package that's only available on MELPA, `parse-csv`.[3] 
(If
that is a problem, please let me know. I'm assuming it's a problem for GNU ELPA,
but not for Non-GNU ELPA.)[4]

TIA,

Joost



Footnotes:
[1]  https://ledger-cli.org/

[2] In fact, it is so customisable that you could use it to convert CSV files to
     any format you like. JSON, YAML, whatever you fancy. Even XML if you're so
     inclined... :D

[3]  https://melpa.org/#/parse-csv

[4] If anyone has suggestions on how to get rid of that dependency, I'm all
     ears. `parse-csv` looks like a real parser, not the kind of regex-kludge
     that I would come up with... I've looked at `csv-mode`, which is on GNU
     ELPA (and which is also a dependency), but I don't think it can be used
     (easily) to parse CSV data.

-- 
Joost Kremers
Life has its moments



reply via email to

[Prev in Thread] Current Thread [Next in Thread]