赞
踩
[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 。
Python语言、MySQL数据库、Flask框架、网络爬虫技术、html
车主之家数据、汽车销量数据
Flask汽车销售数据采集分析可视化系统是基于Flask框架开发的一个应用系统,旨在帮助用户采集、分析和可视化汽车销售数据。
1、各品牌汽车总销量对比分析可视化界面
2、各品牌汽车月销量分析可视化界面
3、各汽车品牌理念销量分析可视化界面
4、系统首页----注册登录
5、爬虫数据采集界面
数据采集:系统提供方便易用的界面,用户可以通过该界面输入和管理汽车销售数据。用户可以添加新的汽车销售记录,包括销售日期、销售地点、车型、销售数量、销售额等信息。系统还支持导入和导出数据,方便用户进行批量操作。
数据分析:系统内置多种数据分析工具,帮助用户深入了解汽车销售数据。用户可以选择特定时间范围或地区进行数据筛选,系统将生成相应的统计报表和图表,如销售额趋势图、热门车型排行榜、地区销售对比等。用户可以根据这些统计结果进行业务分析和决策。
可视化展示:系统提供丰富的可视化展示功能,将数据以直观的图表和图形展示给用户。用户可以通过柱状图、折线图、饼图、地图等方式直观地观察和比较销售数据。同时,用户可以根据自己的需求进行图表的定制和设置,以满足个性化的可视化需求。
用户管理:系统支持多用户管理,管理员可以创建账户并设置不同角色的权限。用户可以根据自己的权限进行数据的查看、编辑和删除操作,保证数据的安全和隐私。
效率和易用性:系统具有高效和易用性的特点。采用Flask框架开发,系统响应快速,界面友好,操作简单。用户无需具备专业的数据分析和编程技能,即可轻松使用系统进行汽车销售数据的采集、分析和可视化工作。
总之,Flask汽车销售数据采集分析可视化系统为用户提供了一个便捷、高效的平台,帮助他们管理和分析汽车销售数据,并通过可视化展示,帮助用户更好地洞察市场动态和制定销售策略。
import json import os import random import time from flask import Flask, send_from_directory, request from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow from api.alipayApi import payBp from api.baiduApi import idocr from api.musicApi import musicBp from api.orderApi import orderBp from base.core import JSONEncoder from base.response import ResMsg from api.userApi import userBp import logging # Flask配置 from deeplearning.predict_lstm import sentimentalAnalysis_single from utils.smsutil import Sms app = Flask(__name__) # 注册用户相关的方法 app.register_blueprint(userBp, url_prefix='/user') app.register_blueprint(payBp, url_prefix='/alipay') app.register_blueprint(orderBp, url_prefix='/order') # 订单接口 # 具体业务 app.register_blueprint(musicBp, url_prefix='/music') # 数据库配置信息 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3306/flask_music_b' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['JSON_AS_ASCII'] = False app.config['SECRET_KEY'] = 'KJDFLSjfldskj' UPLOAD_FOLDER="upload" app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER basedir = os.path.abspath(os.path.dirname(__file__)) ALLOWED_EXTENSIONS = set(['txt','png','jpg','xls','JPG','PNG','gif','GIF']) # 日志系统配置 handler = logging.FileHandler('error.log', encoding='UTF-8') logging_format = logging.Formatter( '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s') handler.setFormatter(logging_format) app.logger.addHandler(handler) # 返回json格式转换 使用这个的话就不需要每次都写json返回了,简化代码 app.json_encoder = JSONEncoder # SQLAlchemy 为ORM框架,即用来简化操作数据库的包,具体内容需要学习ORM相关知识 db = SQLAlchemy(app) # Marshmallow 是用来封装返回SQLAlchemy 的返回结果的,通过这个包可以直接把数据转成JSON,从而返回给前端使用 ma = Marshmallow(app) # 一个测试的方法,可以测试服务器是否启动了 # @app.route('/test') # def test(): # put application's code here # res = ResMsg() # test_dict = dict(name="zhang", age=19) # res.update(data=test_dict, code=0) # return res.data # @app.errorhandler(500) def special_exception_handler(error): app.logger.error(error) return '请联系管理员', 500 #判断文件后缀 def allowed_file(filename): return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS @app.route('/file/upload', methods=['POST'], strict_slashes=False) def api_upload(): res = ResMsg() file_dir=os.path.join(basedir, app.config['UPLOAD_FOLDER']) if not os.path.exists(file_dir): os.makedirs(file_dir) f = request.files['myfile'] if f and allowed_file(f.filename): fname = f.filename # fname = secure_filename(f.filename) print(fname) ext = fname.rsplit('.', 1)[1] unix_time = int(time.time()) new_filename = str(unix_time)+'.'+ext f.save(os.path.join(file_dir, new_filename)) res.update(data=new_filename, code=0) return res.data @app.route('/file/idocr', methods=['POST'], strict_slashes=False) def api_id_ocr(): res = ResMsg() file_dir=os.path.join(basedir, app.config['UPLOAD_FOLDER']) if not os.path.exists(file_dir): os.makedirs(file_dir) f = request.files['myfile'] if f and allowed_file(f.filename): fname = f.filename # fname = secure_filename(f.filename) 有中文这个会有问题 # print(fname) ext = fname.rsplit('.', 1)[1] unix_time = int(time.time()) new_filename = str(unix_time)+'.'+ext f.save(os.path.join(file_dir, new_filename)) idno = idocr(new_filename)[0] name = idocr(new_filename)[1] res.update(data=dict(idno=idno,pic=new_filename,name=name), code=0) return res.data @app.route('/file/download/<filename>/') def api_download(filename): # print('下载..' + filename) return send_from_directory('upload', filename, as_attachment=False) #阿里云短信接口 @app.route('/sms/sendSms', methods=['POST']) def sendSms(): res = ResMsg() phone = request.json['phone'] code = random.randint(100000, 999999) response = json.loads(Sms().sendCode(phone, code)) if response['Code'] == "OK": res.update(msg="发送成功", code=0, data=code) else: res.update(msg="发送失败", code=-1) return res.data # 深度学习情感分析接口 @app.route('/deeplearning/senti_single', methods=['POST']) def senti_single(): res = ResMsg() data = request.json['data'] datas = [data] print(datas) result = sentimentalAnalysis_single(datas) res.update(msg="成功", code=0, data=result) return res.data if __name__ == '__main__': app.run(debug=True,host='0.0.0.0',port=5000)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/198758
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。