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.6 (unreleased)

  • fixed typo in account types

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


Release history Release notifications | RSS feed

This version

0.6

Download files

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

Source Distribution

qifparser-0.6.tar.gz (9.3 kB view details)

Uploaded Source

File details

Details for the file qifparser-0.6.tar.gz.

File metadata

  • Download URL: qifparser-0.6.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for qifparser-0.6.tar.gz
Algorithm Hash digest
SHA256 ea42c49729cf327c8df1be94d363868ecafb6f23914e42001a6bce444f038727
MD5 56e0f3744efb7f4330a251cadf7b1461
BLAKE2b-256 8481ba95f7ba9be66ef372c24896f80a2bae4ab1359e0ca81d6bdb2c042777e9

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