Парсер формата MT940

Можете ли вы порекомендовать любую операционную систему, готовую к работе, хорошо документированную и не мертвую парсер формата MT940 для Python?

2 ответа

Решение

Мне только удается найти этот проект на Python: https://github.com/headcr4sh/django-banking Возможно, вы можете расширить / обновить вышеупомянутый проект для своих собственных целей. Код довольно легко читается.

Если вы не возражаете против использования Java, есть один современный проект, который может легко проанализировать / создать любое быстрое сообщение:

http://sourceforge.net/projects/wife/

Пример кода:

создание: https://github.com/prowide/prowide-core-examples/blob/master/src/com/prowidesoftware/swift/samples/MessageCreationExample.java

парсинг: https://github.com/prowide/prowide-core-examples/blob/master/src/com/prowidesoftware/swift/samples/ParseMT940Example.java

их веб-сайт: http://www.prowidesoftware.com/core.jsp

Возможно, немного опоздал на вечеринку, но я написал библиотеку для поддержки MT940 с Python некоторое время назад. Я только что дал большое обновление, чтобы оно было более универсальным, поэтому оно должно помочь большинству людей: https://github.com/WoLpH/mt940

Если есть какие-либо проблемы, пожалуйста, дайте мне знать. Запросы на тягу всегда приветствуются:)

В настоящее время он поддерживает чтение любого файла Mt940, который я смог найти (у меня есть набор тестов из 31 файла), и в зависимости от формата он будет анализировать больше или меньше информации.

Чтобы добавить определенную поддержку для ваших файлов, есть поддержка до и после обработки, чтобы добавить некоторый пользовательский анализ: http://mt940.readthedocs.org/en/latest/mt940.html Некоторые банки имеют дополнительную информацию в деталях транзакции, которые легко поддерживаются с помощью этого метода.

Документацию можно найти на сайте readthedocs: http://mt940.readthedocs.org/en/latest/mt940.html

Пакет можно установить через Pypi: https://pypi.python.org/pypi/mt-940

pip install mt-940

Пример использования:

import mt940
import pprint

transactions = mt940.parse('tests/jejik/abnamro.sta')

print 'Transactions:'
print transactions
pprint.pprint(transactions.data)

print
for transaction in transactions:
    print 'Transaction: ', transaction
    pprint.pprint(transaction.data)
Другие вопросы по тегам