跳转到主要内容

Quicken互交换格式文件(.qif)的解析器。

项目描述

QIF解析器

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

qifparse是Quicken互交换格式文件(.qif)的解析器。

即使qif格式现在

  • 相当老了

  • Quicken不再支持导入

  • 某些数据管理(尤其是在日期上)可能存在歧义

它仍然被许多个人财务管理软件广泛使用。

用法

以下是一个示例解析

>>> 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...
...

以下是一个示例结构创建

>>> 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...
...

更多信息

有关qif格式的更多信息

变更日志

0.5 (2013-11-03)

  • 现在事务也可以在账户之外

  • 将属性移动到方法中以便接受过滤器

0.4 (2013-11-02)

  • 地址可以是多行的

  • 拆分可以有地址属性

  • 增加对类的支持

  • 增加对MemorizedTransaction的支持

0.3 (2013-11-02)

  • 更多重构,现在库变得更加简单和工程化

  • 改进字段验证

0.2 (2013-11-02)

  • 大规模重构,现在结构可以程序化创建和修改

0.1 (2013-11-01)

  • 首次发布于PyPI

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

qifparse-0.5.tar.gz (8.7 kB 查看哈希值)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页