Skip to main content

a parser for Quicken interchange format files (.qif).

Project description

QIF Parser

https://travis-ci.org/giacomos/qifparse.png?branch=master

qifparse is a parser for Quicken interchange format files (.qif).

Even if the qif format is:

  • quite old now

  • not supported for import by Quicken any more,

  • ambiguous in some data management (notably on dates)

it’s still quite commonly used by many personal finance managers.

Usage

Here’s a sample parsing:

>>> from qifparse.parser import QifParser
>>> qif = QifParser.parse(file('file.qif'))
>>> qif.get_accounts()
(<qifparse.qif.Account object at 0x16148d0>, <qifparse.qif.Account object at 0x1614850>)
>>> qif.accounts[0].name
'My Cash'
>>> qif.get_categories()
(<qifparse.qif.Category object at 0x15b3d10>, <qifparse.qif.Category object at 0x15b3450>)
>>> qif.accounts[0].get_transactions()
(<Transaction units=-6.5>, <Transaction units=-6.0>)
>>> str(qif)
'!Type:Cat\nNfood\nE\n^\nNfood:lunch\nE\n^\n!Account\nNMy Cash\nTCash\n^\n!Type:Cash...
...

Here’s a sample of a structure creation:

>>> qif_obj = qif.Qif()
>>> acc = qif.Account(name='My Cc', account_type='Bank')
>>> qif_obj.add_account(acc)
>>> cat = qif.Category(name='food')
>>> qif_obj.add_category(cat)
>>> tr1 = qif.Transaction(amount=0.55)
>>> acc.add_transaction(tr1, header='!Type:Bank')

>>> tr2 = qif.Transaction()
>>> tr2.amount = -6.55
>>> tr2.to_account = 'Cash'
>>> acc.add_transaction(tr2)
>>> acc.add(tr2)
>>> str(qif_obj)
'!Type:Cat\nNfood\nE\n^\n!Account\nNMy Cc\nTBank\n^\n!Type:Bank\nD02/11/2013\nT...
...

More infos

For more informations about qif format:

Changelog

0.5 (2013-11-03)

  • now transactions can also be outside accounts

  • moved properties to method in order to accept filters

0.4 (2013-11-02)

  • address can be multilines

  • split can have the address attribute

  • add support for Classes

  • add support for MemorizedTransaction

0.3 (2013-11-02)

  • more refactoring, now the lib is much more simple and engineered

  • improved fields validation

0.2 (2013-11-02)

  • huge refactor, now the structure can be create and modified programmatically

0.1 (2013-11-01)

  • first release on Pypi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qifparse-0.5.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file qifparse-0.5.tar.gz.

File metadata

  • Download URL: qifparse-0.5.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for qifparse-0.5.tar.gz
Algorithm Hash digest
SHA256 550423ac8a4714eccbb11ad53d3ccb6d99ee974813816dc5373837b75bf289ad
MD5 7fecdfb4f37b018ed7de6ee443057a45
BLAKE2b-256 ccfce14d09401c247d4c3584ee2ee2ff31e4d72590d9b110f637fa4a6d6b7586

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page