用于金融的简单 Flask 应用程序。第2部分
2022/8/30 1:22:53
本文主要是介绍用于金融的简单 Flask 应用程序。第2部分,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
用于金融的简单 Flask 应用程序。第2部分
Photo by 马库斯·温克勒 on 不飞溅
介绍
财务部门的职能之一是向管理层和股东提供定期报告,以便他们根据所提供的信息做出决策。财务专家通常会在复杂的电子表格中展示结果,其中包含冗长的公式和不友好的用户界面。但是,并非所有管理层和股东都毕业于金融专家,因此,他们需要的数据呈现难度较低。因此,在展示公司活动的结果时,可以考虑使用其他工具。
在这个项目中,我试图提出一种报告格式,管理层和股东可以通过公司网站轻松阅读和访问。我将使用的数据是虚拟数据,但可以用实际数字代替。
概述
在本节中,我将讨论应用程序的主要功能。它建立在 Flask 的后端和 HTML 的前端。您可以上传数据以进行进一步处理并将其存储在 AWS S3 中。存储后,可以随时以编程方式访问它。
该报告计算主要财务指标:给定时期的利润、收入、营销和开发费用。对于每个指标,都有一个单独的页面,用户可以使用交互式仪表板从不同的角度仔细查看数据。
该应用程序正在使用神经网络来生成利润预测。在 Make Predictions 页面上,用户可以选择一个项目并构建一个 LSTM(长期短期记忆)模型,然后将其保存到 AWS S3。保存的预测将显示在利润页面上。
现在我将详细说明上述功能。
将文件上传到 AWS S3
在后端:
创建了一个 FlaskForm 以允许将文件上传到应用程序。
Flask Form for uploading files to the app
我们只对上传带有我们选择的扩展名的文件感兴趣。有一个辅助函数可以验证文件的扩展名:
Helper function for extension validation
要将文件上传到 AWS S3,我们需要先建立连接并指定我们希望存储文件的存储桶。
Creating a connection to AWS S3 and specifying buckets
下面是负责将文件上传到 S3 的路由。首先,我们在前端选择一个文件,然后单击提交按钮,我们将文件传输到后端。下面的路由首先验证文件的扩展名、文件名,并将文件保存到上传文件夹。接下来,python 读取文件并检查列名是否符合预期。将来我们将需要连接这些文件,因此文件具有相同的结构会更好。预期的列名是:
将来,我计划对上传的 csv 文件的数据类型进行验证。
如果所有检查均通过,文件将上传到 S3 并从本地上传文件夹中删除。
Flask route for uploading files
上传文件后,我们就有了可使用的数据。现在我们转到指标页面。
利润
这是利润页面的样子:
Profit page filtered
利润页面有一个仪表板,底部有 4 个图表和一个表格。左上图按月显示利润,即产品在特定月份赚取了多少利润。右上图是未来的预测。我们将在本文后面讨论它。左下图是所选期间的累积利润。这些只是 x 轴上的日期和 y 轴上的运行总计。右下图显示了每个产品在整个期间的总利润。在页面底部,有一个表格,其中列出了每种产品的总利润。
在页面顶部,有一个过滤栏。您可以显示您希望的任何数据:指定特定的时间范围,并按公司、团队和产品进行过滤。此外,您可以从页面底部下载 xlsx 格式的表格。
我希望过滤器是依赖的,即以下选择取决于最后一个选择。我花了几个小时弄清楚如何做到这一点,但没有结果。我知道如何使用单选下拉菜单来做到这一点,但我们正在处理多选下拉菜单,这里的事情更加复杂。因此,如果您对如何解决问题有一些建议,我很乐意听取您的建议
这篇关于用于金融的简单 Flask 应用程序。第2部分的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?