Я опубликовал piecash, интерфейс Python для сохраненных в SQL книг GnuCash, использующий SQLAlchemy в качестве основы (https://github.com/sdementen/piecash).
. С его помощью вы можете легко получить доступ ко всей информации, содержащейся в книге.
Например, для перебора всех учетных записей в книге:
from piecash import open_book
# open a book
with open_book("some_book.gnucash", open_if_lock=True) as mybook:
# iterate over all accounts of the book
for account in mybook.accounts:
print(account)
или для перебора всех разделений в учетной записи «Актив»:
# open the book
with open_book("some_book.gnucash", open_if_lock=True) as mybook:
# retrieve the account by its fullname
asset = mybook.accounts(fullname="Asset")
# iterate over all its splits
for split in asset.splits:
print(split)
Последние версии также позволяют извлекатьразделить информацию непосредственно на панды DataFrames для удобного построения / анализа с
from piecash import open_book
# open a book
with open_book("some_book.gnucash", open_if_lock=True) as mybook:
# extract all split information to a pandas DataFrame
df = mybook.splits_df()
# print for account "Asset" some information on the splits
print(df.loc[df["account.fullname"] == "Asset",
["transaction.post_date", "value"]])