首页 > 编程语言 >用于金融的简单 Flask 应用程序。第2部分

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

时间:2022-08-29 17:02:09浏览次数:76  
标签:文件 预测 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,简单,页面
From: https://www.cnblogs.com/amboke/p/16636495.html

相关文章

  • 【k8s】使用k8s部署一个简单的nginx应用
    1、创建命令空间kubectlcreatenamespacetest  2、编辑nginx-deployment.yaml---apiVersion:apps/v1kind:Deploymentmetadata:name:nginxname......
  • flask实时播放cv2读取的视频
    flask实时播放cv2读取的视频app.pyclassVideoCamera(object):def__init__(self,url):self.cap=cv2.VideoCapture(url)def__del__(self):......
  • 2022-8-29 每日一题-简单模拟-剑指offer-字典树
    1470.重新排列数组难度简单112收藏分享切换为英文接收动态反馈给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。请你将......
  • py简单打包
    用于记录-Windows的1.1安装pyinstaller直接安装:pipinstallpyinstaller更多可以参考:http://www.pyinstaller.org参考手册:https://pyinstaller.readthedocs.io/en/v3.6/......
  • 图数据库入门教程(一)简单理解图数据库
    以下内容是个人的理解,一家之言,可能误导,但能入门为什么会有图数据库?作为研发,我们接触最多的当属关系型数据库:Mysql、Oracle,还有一些非关系型数据库:MongoDB、Redis等,再广......
  • 前端项目中简单数据字典模拟
    整体思路创建一个键值对对应的数据文件,并把这个文件暴露出去constnameMap={"1":"Jack","2":"Rose","3":"Frank","4":"Lucy"}//如果创建不止一个,可以用expor......
  • php简单实现 接口请求日志
    先看使用效果 执行代码:publicfunctionmainLogic(){logs();//在接口开始时调用,可以放到父类的构造方法里面//接口逻辑....}请求参数:日志: 封装......
  • pom.xml中导入 feign 启动Spring启动应用程序时Bean创建错误 可能版本不兼容 使用和s
    启动Spring启动应用程序时Bean创建错误当我尝试运行springboot应用程序时,我遇到了以下异常:组织。springframework。豆。工厂BeanCreationException:创建名为“configura......
  • 8种防止过拟合的简单技术
    8种防止过拟合的简单技术当模型在训练数据上表现良好但对未见数据的泛化能力较差时,就会发生过度拟合。过拟合是机器学习中一个非常常见的问题,并且有大量文献致力于研究防......
  • Flask 学习-23.restful 接口开发
    前言Flask-RESTful是一个Flask扩展,它添加了快速构建RESTAPIs的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful鼓励以最小设置......