CSV Import Update

Derek Atkins warlord at MIT.EDU
Fri Jul 20 12:42:32 EDT 2007


Josh Sled <jsled at asynchronous.org> writes:

> "Benjamin Sperisen" <lasindi at gmail.com> writes:
>> What can the importer do now?
>> 4. It can handle three different column types: Amount, Date, and
>> Description. The columns can be in any order.
>
> Other columns you may want to support:
>
> - transaction number
> - transaction identifier
> - comment
>
> It might be that the easiest thing to do is just concatenate some of those
> fields together into the memo of the resultant transaction, rather than try
> to get a 1-to-1 mapping to gnucash fields.

Maybe provide a few options for how to translate these columns?  I
could surely see one mapping into the "Num" column.  Maybe one
tying into the "Action", and then there's the Transaction Notes field
and the individual Split Memo fields.

>> 5. This is not necessarily a CSV import issue, but the date parsing
>> function does not yet take into account the issue raised by Thomas
>> (https://lists.gnucash.org/pipermail/gnucash-devel/2007-July/020954.html).
>
> I'm not sure if the mixed-separator issue is significant outside of QIF
> files, or otherwise wide-spread.

I'd agree that we shouldn't worry about this now.  We can do other
"magic" to figure out the year, even just hardcoding (for now)
1969-2060 and then worrying about it again in another 50 years.
If your code is still here in 50 years then I'll be extremely
impressed!

> I did notice that converting the "txt-format" downloads I can get from Bank
> of America (which look like `lynx -dump`ed versions of their html, honestly)
> into CSV left me with just 'mm/dd' dates (no year).  That doesn't seem all
> that unreasonable, and should be supported as well.

Agreed, it should handle this by assuming either "current year" or
"+/- 6 months" depending on a preference (IMHO).

>> Problem 4 will largely take time, but if anyone has any CSV files that
>> they'd like to try this with, feel free -- the code should be stable
>> enough that it's not totally unusable at this point. As long as you
>
> Another thing I noticed with my manufactured CSV file was that some of the
> lines had '$'s before the value, and some had column-based credit/debit value
> distinctions; I could imagine other CSV-providers that used +/- for such a
> distinction.  This might end up as an RFE building on this project, but
> handling these cases seems pretty important.

Yes, it should accept:

  <CurrencySymbol>    (maybe this can signify a currency, or just be ignored)
  +/-                 (explicit positive/negative)
  (<value>)           (explicit negative)

>> encountered that before (though I could be wrong). I'll also have to
>> learn some about regular expressions, as I know next to nothing about
>> them, to add the functionality.
>
> FWIW, regexp is one of the most useful things I've ever learned, so don't
> hesitate! :)

Absolutely.  I highly recommend you learn regex if it's at all useful to you.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list