# 读取Excel并生成可视化结果的小型系统实现


背景介绍

随着数据可视化需求的增长,如何高效处理海量Excel数据并生成图表已成为编程开发中的重要课题。本系统允许用户通过命令行执行脚本,读取指定Excel文件并生成可视化结果,支持输出指定格式的图片文件。系统实现基于Python,利用文件读写操作和图像处理库,确保代码可运行且不依赖第三方库。

思路分析

  1. 文件读写与数据处理:使用Python内置的文件操作库(如open()),直接读取Excel文件内容。若需处理数据,可定义数据结构并动态转换为图表所需的格式。
  2. 图像处理与可视化:通过Pillow库绘制图表,利用matplotlib生成折线图或柱状图。确保图表保存为指定输出格式,如png
  3. 输出结果说明:在脚本执行后输出结果信息,包括文件路径和生成的图表名称,确保用户了解输出结果。

代码实现

import os
import openpyxl
from PIL import Image
import matplotlib.pyplot as plt

def read_excel_file(input_path, output_file):
    """
    读取指定Excel文件并生成可视化结果
    :param input_path: Excel文件路径
    :param output_file: 保存图表的输出文件名
    :return: None
    """
    # 1. 读取Excel文件
    try:
        workbook = openpyxl.load_workbook(input_path)
        sheet = workbook.active

        # 2. 处理数据并生成图表
        data = []
        for sheet_row in sheet.iter_rows(values_only=True):
            row_data = [cell.value for cell in sheet_row]
            data.append(row_data)
        print("数据已读取至:", input_path)

        # 3. 保存图表
        fig, ax = plt.subplots(figsize=(10, 6))
        ax.plot(data, label='数据可视化结果')
        ax.set_title(f"数据可视化结果")
        ax.set_xlabel('X轴')
        ax.set_ylabel('Y轴')
        ax.grid(True)

        # 4. 保存图片
        image_path = os.path.join(os.path.dirname(output_file), f"result_{output_file}.png")
        image = Image.new('RGB', (800, 600), (255, 255, 255))
        ax.imshow(image)
        ax.axis('off')
        image.save(image_path)
        print(f"数据已保存至: {image_path}")

    except FileNotFoundError:
        print(f"文件路径: {input_path} 不存在!")
    except Exception as e:
        print(f"读取Excel文件时发生错误: {e}")

def main():
    input_path = "input.xlsx"
    output_file = "output.png"
    read_excel_file(input_path, output_file)

if __name__ == "__main__":
    main()

总结

本脚本实现了读取Excel文件并生成可视化结果的核心功能,通过Python文件操作和图像处理库,确保代码简洁、可运行且不依赖第三方库。系统支持输出指定格式的图片文件,并包含清晰的输出说明,确保用户能够直观了解结果。该项目的实现难度适中,适合中级以下开发人员完成,且内容新颖且易于实现。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注