ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

用于金融的简单 Flask 应用程序。第2部分

2022-08-29 17:01:55  阅读:257  来源: 互联网

标签:文件 预测 Flask 应用程序 S3 简单 数据 页面


用于金融的简单 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,应用程序,S3,简单,数据,页面
来源: https://www.cnblogs.com/amboke/p/16636495.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有