Python Excel 多个sheet处理

在日常工作中,我们经常需要处理Excel表格,有时候一个Excel文件中包含多个sheet,如何使用Python对多个sheet进行处理就成为一个常见的问题。本文将介绍如何使用Python处理Excel中的多个sheet,并提供相应的代码示例。

安装依赖库

在Python中处理Excel表格,我们通常会使用openpyxl库,这是一个功能强大且易于使用的库,可以帮助我们读写Excel文件。如果你的环境中没有安装该库,可以使用以下命令进行安装:

pip install openpyxl

读取Excel中的多个sheet

首先,我们需要导入 openpyxl 库,然后使用 load_workbook 方法加载Excel文件,接着可以通过 sheetnames 属性获取所有的sheet名称,进而逐个读取每个sheet中的数据。下面是一个示例代码:

from openpyxl import load_workbook

# 加载Excel文件
workbook = load_workbook('example.xlsx')

# 获取所有sheet名称
sheet_names = workbook.sheetnames

# 逐个读取sheet中的数据
for sheet_name in sheet_names:
    sheet = workbook[sheet_name]
    for row in sheet.iter_rows(values_only=True):
        print(row)

关系图

erDiagram
    CUSTOMER {
        string Name
        string Address
        string Phone
    }
    ORDER {
        string ID
        integer Quantity
        string Product
        string Customer
    }
    CUSTOMER ||--o{ ORDER : places

分析数据并生成饼状图

在读取完所有的sheet数据后,我们可以对数据进行进一步分析,比如统计每个sheet中不同类别的数量,并生成饼状图。下面是一个示例代码:

import matplotlib.pyplot as plt

category_counts = {}

for sheet_name in sheet_names:
    sheet = workbook[sheet_name]
    for row in sheet.iter_rows(values_only=True):
        category = row[0]  # 假设第一列是类别
        if category in category_counts:
            category_counts[category] += 1
        else:
            category_counts[category] = 1

# 生成饼状图
plt.pie(category_counts.values(), labels=category_counts.keys(), autopct='%1.1f%%')
plt.axis('equal')
plt.show()

通过以上代码,我们可以将Excel中不同类别的数据进行统计分析,并用饼状图可视化展示,方便我们更直观地了解数据分布情况。

通过本文的介绍,相信读者已经了解了如何使用Python处理Excel中的多个sheet,同时对数据进行分析和可视化展示。希望本文对您有所帮助,谢谢阅读!