1.系统介绍
我国是全球大豆进口大国,大豆进口贸易数据规模大、维度多,传统人工统计与分析方式效率低、可视化程度不足,难以直观展现进口贸易的核心特征与趋势,因此研发一套高效的大豆进口贸易数据分析与可视化系统具有重要的现实意义。本研究针对这一需求,聚焦我国大豆进口贸易数据的整合与可视化呈现,旨在解决贸易数据解读难度大、分析效率低的问题。
系统以 Python 为核心开发语言,构建了 Flask+Vue 前后端分离架构,结合 MySQL 完成用户信息、贸易基础数据的结构化存储,依托 Hive 实现海量进口贸易原始数据的仓库化管理,并通过 Echarts 可视化库完成数据可视化呈现。系统用户端涵盖注册登录、个人中心、贸易记录查看、多维度数据分析及我的收藏核心功能,其中数据分析模块可展示进口额 TOP10 国家排行柱状图、各国进口额占比饼状图、进口额时间趋势折线图及各国进口详情,实现了数据从存储、检索到可视化分析的全流程管理。
该系统的研发有效提升了我国大豆进口贸易数据的处理效率,将复杂的贸易数据转化为直观的可视化图表,降低了数据解读门槛,可为大豆进口贸易相关决策提供精准的数据支撑。同时,验证了 Python 生态结合 Flask、Vue、Hive 等技术在贸易数据分析场景中的适配性,为同类农产品贸易数据可视化系统的研发提供了参考范式。
2.系统用例分析
本系统聚焦用户端核心需求,围绕我国大豆进口贸易数据的管理与可视化分析,设计了五大核心功能模块。其一,注册登录模块,需实现用户账号注册、身份校验及会话管理,保障用户数据安全与访问权限控制;其二,个人中心模块,支持用户修改个人信息、重置密码,查看账户使用记录,满足个性化账户管理需求;其三,贸易记录查看模块,需支持用户按年份、来源国、进口额区间等条件筛选查询大豆进口原始数据,实现精准的数据检索;其四,数据分析模块为核心,需基于 Echarts 完成进口额 TOP10 国家排行柱状图、各国进口额占比饼状图、进口额时间趋势折线图的可视化展示,并支持点击图表联动查看各国进口详情,直观呈现贸易数据特征;其五,我的收藏模块,允许用户收藏重点数据图表,便于快速调取查看。各模块需实现数据互通,依托 Python、Flask、Vue 等技术保障操作流畅性,满足用户从数据查询、分析到个性化管理的全流程需求。系统用例图如图所示。
3.数据分析
数据导入是系统运行的基础环节,需满足多源、多格式大豆进口贸易数据的高效接入需求。本系统需支持从海关统计数据库、农业农村部公开数据平台等渠道导入原始数据,涵盖结构化数据和半结构化数据。导入流程需依托Python的Pandas库完成数据清洗,剔除重复值、异常值,统一数据格式与单位,例如将不同来源的货币单位统一为人民币、时间格式标准化为“年-月”。同时,需适配Hive的数据导入规范,将TB级海量原始贸易数据批量导入Hive数据仓库,实现分布式存储;对于高频访问的基础数据(如用户信息、常用贸易记录),则同步导入MySQL数据库。此外,需设计可视化的导入界面,支持用户手动上传本地贸易数据文件,并提供导入进度展示、异常数据提示功能,确保数据导入的完整性与准确性,为后续分析和可视化提供高质量数据源。
4.数据预处理
4.1数据导入
系统的数据来源于海关统计数据查询平台http://stats.customs.gov.cn/,该网站提供结构化数据下载,共下载大豆进口贸易的数据1084条,包括数据年月,商品编码,商品名称,贸易伙伴编码,贸易伙伴名称,美元等,数据下载完成后,系统通过Flask的RESTfulAPI实现Excel数据导入功能:管理员上传.xlsx文件后,后端使用openpyxl库解析Excel内容,从第二行开始逐行读取包含数据年月、商品编码、商品名称、贸易伙伴编码、贸易伙伴名称和美元金额的6列数据;系统会验证必填字段完整性,根据数据年月、商品编码和贸易伙伴编码组合判断记录是否已存在,存在则更新,不存在则插入新记录到MySQL数据库;整个过程包含错误处理和统计机制,最终返回导入成功数、失败数及错误详情。
4.2数据清洗
4.3数据存储
定义了User、Favorite、TradeData、LoginLog四个数据模型类,通过SQLAlchemy的Column、String、Integer、Boolean、DateTime等字段类型映射到数据库表结构,支持主键自增、外键关联和索引配置;使用db.session.add()插入数据、db.session.commit()提交事务、db.session.rollback()回滚异常;通过db.session.get()查询单条记录、Model.query.filter_by()条件查询、Model.query.all()查询全部等方法操作数据,实现了完整的数据增删改查功能,并配置了UTF-8编码确保中文数据正确存储。