gnucash sql文档的pythonic接口。
piecash的Python项目详细描述
piecash为存储在sql(sqlite3、postgres和mysql)中的gnucash文件提供了一个简单的python接口。
Documentation: | http://piecash.readthedocs.org. |
---|---|
Gitter: | https://gitter.im/sdementen/piecash |
Github: | https://github.com/sdementen/piecash |
PyPI: | https://pypi.python.org/pypi/piecash |
它是一个纯python包,在python 3.5/3.6上进行了测试,可以用作:
- 正式的python绑定(只要不需要高级的书籍修改和/或引擎计算)。 这在Windows上特别有用,因为在Windows中,可能很难安装正式的python绑定,或者如果您想使用 Python3。
- xml gnucash文件的xml解析/读取(如果您喜欢python而不是xml/xlst操作)。
piecash测试套件在三个支持的sql后端(sqlite3、postgres和mysql)上的windows和linux上成功运行。 由于kivy buildozer和python for android,piecash也在android(sqlite3后端)上成功运行。
它允许您:
- 打开现有的GNUCASH文档并访问 内的所有对象
- 修改对象或添加新对象(帐户、交易记录、价格…)
- 从头开始创建新的gnucash文档
脚本也可用于:
- 导出为ledger cli格式(http://www.ledger-cli.org/)
- 导出为qif格式
- 进出口价格(CSV格式)
piecash脚本的一个简单示例:
withopen_book("example.gnucash")asbook:# get default currency of bookprint(book.default_currency)# ==> Commodity<CURRENCY:EUR># iterating over all splits in all books and print the transaction description:foraccinbook.accounts:forspinacc.splits:print(sp.transaction.description)
该项目已进入测试阶段。
重要
如果您想使用python 2.7/3.4和gnucash2.6.x系列的书籍,可以使用piecash 0.19.0。 Piecash 1.0.0版支持Python>;=3.5和GnuCash3.0.x系列的书籍。
警告
- 在使用piecash之前,一定要备份gnucash文件/db。
- 以只读模式(默认模式)打开文件,首先测试脚本。