On Mon, Oct 1, 2012 at 2:40 PM, thierry <[email protected]> wrote:
>
> I was too using a personal perl script, doing the mapping from a table. But
> I tried the 'i' of icsv2ledger, and felt in love with this 'i'. On contrary,
> rubycsv and CSV2ledger does not (yet?) implement this 'interactiveness'.
> Also CSV2ledger is not unicode compliant, and I am not living in an ASCII
> world :-).

My take on this is that implementing an interactive interface wasn't
worth the added complexity of handling and storing user input (rubycsv
is only 70 lines per sloccount, less than 100 if you include a complex
template).

That's not to say that interactive  it's not a nice feature - it was
just a lot more work and didn't match my workflow which has fairly
deep categories that I'd prefer not to mistype.

My solution is this - rubycsv has the concept of a default value to
assign if no better match is found in the table.  This is handy in
many ways (unspecified currency being another), but one way I use it
is to assign "Unknown" as the category.   The process works as
follows:

 1. Run the CSV -> ledger conversion.
 2. Run "ledger -f infile.lgr print Unknown" to show all unidentified
transactions.
 3. Add appropriate entries to the match table via text editor.
 4. Repeat steps 1-3 until no transactions are in the "Unknown" category.

- Zack

Reply via email to