[Open source, Python, Финансы в IT, Лайфхаки для гиков] Python-скрипт для импорта банковских расходов в Splitwise
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Если для вас важен вопрос ведения личного или семейного бюджета, или если вы часто ездите в совместные поездки с друзьями, то вы либо уже слышали про Splitwise,либо вам может быть полезно про него услышать. Splitwise - это довольно удобный сайт + приложения для iOS и Андроид, которые позволяют вести учёт совместных расходов. Имеется также полезная функция минимизации количества взаиморасчётов (пример: если все должны Саше по 100 рублей, Петя должен саше еще +20 рублей, а Вася должен Пете 120 рублей, то в итоге Вася отдаст сразу 220 рублей Саше, и все рады). Впервые я пользовался Splitwise пару лет назад в поездке с друзьями в Италию, и с тех пор мы довольно часто используем его для разных целей - покупки подарков, совместных поездок на пикники, и т.д.
Пользоваться Splitwise довольно просто - создаёте группу, приглашаете в неё друзей, каждый добавляет туда сколько потратил, и в какой пропорции эти траты нужно разделить (по дефолту - поровну). Вы можете вести расчёт всех ваших взаимных расходов в одной группе, а можете создавать отдельную группу для каждой поездки/подарка/ и тд.
Если вы, допустим, хотите вести в Splitwise семейный бюджет - записывать туда общие расходы на аренду, покупки, ЖКХ, веб версия также показывает диаграмму ваших затрат по категориям (правда эти категории для каждого платежа еще нужно назначить). В приложении эта функция платная, однако в веб версии, которую я чаще всего использую, диаграммы можно смотреть и без подписки. В общем, основной юскейс для меня - это именно ведение бюджета, поэтому когда мне очередной раз в напоминают, что пора бы заполнить сплитвайз, обычно я, тяжело вздыхая, открывал приложение своего банка, и начинал методично ручками перебивать туда все траты. Если вам важна история платежей и вы хотите смотреть на диаграммки, то кроме суммы и разбивки вам придётся заполнить: дату, выбрать из меню категорию платежа, написать более-менее понятное название, по которому можно будет адекватно идентифицировать платёж.
Так выглядит форма ввода в веб-версии.В общем, в определенный момент, когда я откладывал это дело целый месяц, я понял, что вносить пару десятков платежей ручками для меня просто неприемлемо, так что я решил наговнокодить что-нибудь для этого дела на питончике. Так за пару выходных появился мой монстр Франкенштейна под названием splitwise_importer (ссылка на гитхаб).splitwise_importerSplitwise_importer - программа с TUI интерфейсом (форк библиотеки npyscreen, ее использует например Telegram TUI), написанa на Python, работает из консоли, и использует Python-API сплитвайза (конкретно этот форк, потому что мэйнтейнер не мерджит полезный PR).
Программа максимально костыльно-доморощенная, так что user experience может быть сильно на любителя, впрочем, главная задача спасения от монотонных действий - выполнена. Протестировано на MacOS и Ubuntu 20.04 WSL с Python 3.7.1+.Чтобы начать использовать splitwise_importer нужно:
- зарегистрироваться в Splitwise, получить ключи для приложения и вставить их в конфиг
- скачать выгрузку операций из интернет банка в формате CSV.
- в конфиге заполнить секцию с расположениями полей в CSV (колонка суммы, колонка даты, и т.д.). В дефолтном конфиге у меня заполнены колонки для Тинькофф-банка, так что можете сразу пользоваться.
- (опционально) во втором конфиге прописать соответствие категорий платежа из выгрузки вашего банка категориям сплитвайза (они все есть в файле). Если лень, то все траты будут вноситься по дефолту как General expenses.
Запускаем в консоли скрипт importer.py, открывается диалог выбора файла. По идее, если вызывать скрипт сразу из нужной директории, то выбор файла стартует в ней же, при этом ничего не ломается, так что можно создать alias для запуска скрипта. Подтверждаем выбор файла.
Окно выбора операций. Отображается тестовый CSV с повторяющейся одной и той же строчкой.Появится основное окно выбора операций, стрелочками двигаем курсор, пробелом отмечаем операции к отправке. Жмём "ОК", в окошке 'log' наблюдаем результат отправки каждой операции (либо ОК, либо ошибка, которую вернул сервер Splitwise). Вот и всё. Надеюсь кому-то ещё программа пригодится. Подробная инструкция в репозитории.
===========
Источник:
habr.com
===========
Похожие новости:
- [Производство и разработка электроники, Финансы в IT, Процессоры] Группа «Вартон» купила «Байкал Электроникс»
- [Софт, Финансы в IT] Перерасти ПО: код — это современное электричество (перевод)
- [Исследования и прогнозы в IT, Научно-популярное, Финансы в IT] Майкл Бьюрри, предсказавший кризис 2008 года, предсказывает еще больший хлопок
- [Развитие стартапа, IT-эмиграция, Карьера в IT-индустрии, Лайфхаки для гиков] Пароль для стартапа
- [Лайфхаки для гиков, Здоровье] Как подружиться со своей интернет-зависимостью: практическое руководство (перевод)
- [Законодательство в IT, Облачные сервисы, Финансы в IT, Звук] Стимул для изменений: как борьба с «яблочниками» отразилась на крупнейшей стриминговой платформе
- [Научно-популярное, Финансы в IT, Транспорт] Как ажиотажный спрос на туалетную бумагу привел к дефициту электроники
- [IT-эмиграция, Читальный зал, Лайфхаки для гиков, Урбанизм] Релокейт-дайджест: ОАЭ, Таиланд, Европа. 5 стран, куда можно переехать IT-специалисту
- [Open source, Программирование, Системное программирование, Компиляторы, Rust] Rust 1.53.0: IntoIterator для массивов, "|" в шаблонах, Unicode-идентификаторы, поддержка имени HEAD-ветки в Cargo (перевод)
- [Python, Программирование, Машинное обучение] Автоматизация машинного обучения
Теги для поиска: #_open_source, #_python, #_finansy_v_it (Финансы в IT), #_lajfhaki_dlja_gikov (Лайфхаки для гиков), #_splitwise, #_kontrol_rashodov (контроль расходов), #_finansy (финансы), #_python, #_tui, #_npyscreen, #_open_source, #_python, #_finansy_v_it (
Финансы в IT
), #_lajfhaki_dlja_gikov (
Лайфхаки для гиков
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:06
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Если для вас важен вопрос ведения личного или семейного бюджета, или если вы часто ездите в совместные поездки с друзьями, то вы либо уже слышали про Splitwise,либо вам может быть полезно про него услышать. Splitwise - это довольно удобный сайт + приложения для iOS и Андроид, которые позволяют вести учёт совместных расходов. Имеется также полезная функция минимизации количества взаиморасчётов (пример: если все должны Саше по 100 рублей, Петя должен саше еще +20 рублей, а Вася должен Пете 120 рублей, то в итоге Вася отдаст сразу 220 рублей Саше, и все рады). Впервые я пользовался Splitwise пару лет назад в поездке с друзьями в Италию, и с тех пор мы довольно часто используем его для разных целей - покупки подарков, совместных поездок на пикники, и т.д. Пользоваться Splitwise довольно просто - создаёте группу, приглашаете в неё друзей, каждый добавляет туда сколько потратил, и в какой пропорции эти траты нужно разделить (по дефолту - поровну). Вы можете вести расчёт всех ваших взаимных расходов в одной группе, а можете создавать отдельную группу для каждой поездки/подарка/ и тд. Если вы, допустим, хотите вести в Splitwise семейный бюджет - записывать туда общие расходы на аренду, покупки, ЖКХ, веб версия также показывает диаграмму ваших затрат по категориям (правда эти категории для каждого платежа еще нужно назначить). В приложении эта функция платная, однако в веб версии, которую я чаще всего использую, диаграммы можно смотреть и без подписки. В общем, основной юскейс для меня - это именно ведение бюджета, поэтому когда мне очередной раз в напоминают, что пора бы заполнить сплитвайз, обычно я, тяжело вздыхая, открывал приложение своего банка, и начинал методично ручками перебивать туда все траты. Если вам важна история платежей и вы хотите смотреть на диаграммки, то кроме суммы и разбивки вам придётся заполнить: дату, выбрать из меню категорию платежа, написать более-менее понятное название, по которому можно будет адекватно идентифицировать платёж. Так выглядит форма ввода в веб-версии.В общем, в определенный момент, когда я откладывал это дело целый месяц, я понял, что вносить пару десятков платежей ручками для меня просто неприемлемо, так что я решил наговнокодить что-нибудь для этого дела на питончике. Так за пару выходных появился мой монстр Франкенштейна под названием splitwise_importer (ссылка на гитхаб).splitwise_importerSplitwise_importer - программа с TUI интерфейсом (форк библиотеки npyscreen, ее использует например Telegram TUI), написанa на Python, работает из консоли, и использует Python-API сплитвайза (конкретно этот форк, потому что мэйнтейнер не мерджит полезный PR). Программа максимально костыльно-доморощенная, так что user experience может быть сильно на любителя, впрочем, главная задача спасения от монотонных действий - выполнена. Протестировано на MacOS и Ubuntu 20.04 WSL с Python 3.7.1+.Чтобы начать использовать splitwise_importer нужно:
Окно выбора операций. Отображается тестовый CSV с повторяющейся одной и той же строчкой.Появится основное окно выбора операций, стрелочками двигаем курсор, пробелом отмечаем операции к отправке. Жмём "ОК", в окошке 'log' наблюдаем результат отправки каждой операции (либо ОК, либо ошибка, которую вернул сервер Splitwise). Вот и всё. Надеюсь кому-то ещё программа пригодится. Подробная инструкция в репозитории. =========== Источник: habr.com =========== Похожие новости:
Финансы в IT ), #_lajfhaki_dlja_gikov ( Лайфхаки для гиков ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:06
Часовой пояс: UTC + 5