Python读取Excel数据并进行可视化分析

 更新时间:2025年08月27日 09:36:58   作者:小庄-Python办公  
这篇文章主要为大家详细介绍了如何使用Python实现读取Excel数据并进行可视化分析,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

项目简介

本项目是一个完整的商品数据分析系统,能够读取Excel格式的商品数据,进行数据清洗、统计分析和可视化展示。项目包含了多种图表类型和交互式可视化功能,适用于电商、零售等行业的商品数据分析需求。

功能特性

数据处理功能

  • Excel文件读取和解析
  • 数据清洗和预处理
  • 缺失值和异常值检测
  • 数据类型转换和格式化

统计分析功能

  • 描述性统计分析
  • 相关性分析
  • 分类变量统计
  • 数值变量分布分析

可视化功能

静态图表:

  • 柱状图(商品类别分布、平均价格对比)
  • 饼图(类别占比)
  • 散点图(价格与销量关系)
  • 热力图(变量相关性)
  • 水平柱状图(品牌销量对比)
  • 直方图(评分分布)

交互式图表:

  • 交互式散点图(支持缩放、筛选)
  • 交互式柱状图(动态数据展示)
  • 交互式箱线图(价格分布分析)

报告生成

  • 自动生成Markdown格式分析报告
  • 包含基本统计信息和类别分析
  • 支持自定义报告内容

项目结构

7-Python实现商品读取Excel进行可视化分析/
├── requirements.txt          # 项目依赖包
├── create_sample_data.py     # 示例数据生成脚本
├── product_analysis.py       # 主要分析脚本
├── 商品数据.xlsx             # 示例商品数据
├── README.md                 # 项目说明文档
├── 商品分析报告.md           # 生成的分析报告
├── 静态图表/                 # 生成的PNG格式图表
│   ├── 商品类别分布.png
│   ├── 价格销量关系.png
│   ├── 各类别平均价格.png
│   ├── 相关性热力图.png
│   ├── 各品牌销量对比.png
│   └── 评分分布.png
└── 交互式图表/               # 生成的HTML格式交互图表
    ├── 交互式价格销量图.html
    ├── 交互式类别销量图.html
    └── 交互式价格分布图.html

安装和使用

环境要求

Python 3.7+

Windows/macOS/Linux

安装步骤

克隆或下载项目

git clone <项目地址>
cd 7-Python实现商品读取Excel进行可视化分析

安装依赖包

pip install -r requirements.txt

生成示例数据(可选)

python create_sample_data.py

运行分析

python product_analysis.py

使用自己的数据

准备Excel文件,确保包含以下列:商品ID商品名称类别品牌价格销量库存评分上架日期成本利润利润率

修改 product_analysis.py 中的文件路径:

analyzer = ProductAnalyzer('你的数据文件.xlsx')

运行分析脚本

依赖包说明

包名版本用途
pandas>=1.5.0数据处理和分析
matplotlib>=3.6.0静态图表绘制
seaborn>=0.12.0统计图表美化
numpy>=1.24.0数值计算
openpyxl>=3.1.0Excel文件读写
xlrd>=2.0.0Excel文件读取
scipy>=1.10.0科学计算
plotly>=5.15.0交互式图表
jupyter>=1.0.0Jupyter Notebook支持

输出文件说明

静态图表(PNG格式)

  • 商品类别分布.png:展示各类别商品数量和占比
  • 价格销量关系.png:分析价格与销量的相关性
  • 各类别平均价格.png:对比不同类别的平均价格
  • 相关性热力图.png:显示数值变量间的相关系数
  • 各品牌销量对比.png:比较各品牌的总销量
  • 评分分布.png:展示商品评分的分布情况

交互式图表(HTML格式)

  • 交互式价格销量图.html:可交互的价格销量散点图
  • 交互式类别销量图.html:可交互的类别销量柱状图
  • 交互式价格分布图.html:可交互的价格分布箱线图

分析报告

商品分析报告.md:包含完整统计信息的Markdown报告

结果图

核心类和方法

ProductAnalyzer类

class ProductAnalyzer:
    def __init__(self, excel_file)          # 初始化分析器
    def load_data(self)                     # 读取Excel数据
    def data_cleaning(self)                 # 数据清洗
    def descriptive_statistics(self)        # 描述性统计
    def correlation_analysis(self)          # 相关性分析
    def create_visualizations(self)         # 创建静态图表
    def create_interactive_charts(self)     # 创建交互式图表
    def generate_report(self)               # 生成分析报告
    def run_complete_analysis(self)         # 运行完整分析流程

自定义和扩展

添加新的图表类型

在 create_visualizations() 方法中添加新的图表代码:

# 示例:添加新的图表
plt.figure(figsize=(10, 6))
# 你的图表代码
plt.savefig('新图表.png', dpi=300, bbox_inches='tight')
plt.show()

修改分析指标

在 descriptive_statistics() 方法中添加新的统计指标:

# 示例:添加新的统计指标
custom_stats = self.df.groupby('类别')['新字段'].agg(['mean', 'std'])
print(custom_stats)

常见问题

Q: 运行时出现中文显示问题

A: 确保系统安装了中文字体,或修改代码中的字体设置:

plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei']

Q: Excel文件读取失败

A: 检查文件路径是否正确,确保Excel文件未被其他程序占用

Q: 图表不显示

A: 如果在服务器环境运行,可能需要设置matplotlib后端:

import matplotlib
matplotlib.use('Agg')

注意:本项目仅供学习和研究使用,请根据实际需求进行调整和优化。

到此这篇关于Python读取Excel数据并进行可视化分析的文章就介绍到这了,更多相关Python数据可视化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 爬虫学习笔记之多线程爬虫

    Python 爬虫学习笔记之多线程爬虫

    本文给大家介绍的是python基于XPath实现多线程爬虫的实例以及XPath的介绍安装和简单用法,非常的细致,有需要的小伙伴可以参考下
    2016-09-09
  • 使用Scrapy爬取动态数据

    使用Scrapy爬取动态数据

    今天小编就为大家分享一篇关于使用Scrapy爬取动态数据的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 基于python实现蓝牙通信代码实例

    基于python实现蓝牙通信代码实例

    这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python3.7 pyodbc完美配置访问access数据库

    Python3.7 pyodbc完美配置访问access数据库

    最近小编需要学习python连接access数据库,发现很多朋友推荐pyodbc,那么这篇文章就先为大家介绍一下Python3.7下pyodbc的配置方法
    2019-10-10
  • 解析Python 偏函数用法全方位实现

    解析Python 偏函数用法全方位实现

    这篇文章主要介绍了解析Python 偏函数用法全方位实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • Python面向对象进阶学习

    Python面向对象进阶学习

    在本文里我们整理了关于Python面向对象的进阶学习知识点以及学习路线等内容,有兴趣的朋友们学习下。
    2019-05-05
  • Python的bit_length函数来二进制的位数方法

    Python的bit_length函数来二进制的位数方法

    今天小编就为大家分享一篇Python的bit_length函数来二进制的位数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 利用Python yagmail三行代码实现发送邮件

    利用Python yagmail三行代码实现发送邮件

    这篇文章主要给大家介绍了关于利用Python yagmail三行代码实现发送邮件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • python 定时修改数据库的示例代码

    python 定时修改数据库的示例代码

    这篇文章主要介绍了python 定时修改数据库的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Django分页器的用法你都了解吗

    Django分页器的用法你都了解吗

    在我们做Django项目,数据量比较大的时候,我们需要分页器来做分页显示,接下来重点给大家介绍利用Django开发MVT模型项目时分页器的使用,感兴趣的朋友一起看看吧
    2021-05-05

最新评论