在Python中,我们经常需要读取和处理Excel文件中的数据。openpyxl是一个功能强大的库,可以轻松地实现Excel文件的读写操作。本文将介绍如何使用openpyxl库读取Excel文件中的数据。
1. 导入所需库
首先,我们需要导入openpyxl库,这个库提供了许多用于操作Excel文件的功能。
from openpyxl import load_workbook
2. 加载工作簿
接下来,我们需要加载Excel文件的工作簿。
workbook = load_workbook(filename=r'C:\Users\liuchunlin2\Desktop\新建文件夹\新建 XLSX 工作表.xlsx')
请注意,filename
参数需要指定Excel文件的路径。
3. 获取指定工作表
在Excel文件中,可能包含多个工作表。我们需要指定要获取数据的工作表名称。
sheet_name = "Sheet1" sheet = workbook[sheet_name]
根据指定的工作表名称,我们可以获取到对应的工作表对象。
4. 遍历行和列
接下来,我们可以使用不同的方法遍历工作表中的行和列,并获取每个单元格的值。
4.1 遍历行
我们可以使用iter_rows()
方法来获取指定范围内的一系列行,并遍历每行中的每个单元格。
for row in sheet.iter_rows(min_row=1, max_row=1, min_col=1, max_col=1): for cell in row: print(cell.value)
4.2 遍历列
同样地,我们可以使用iter_cols()
方法获取指定范围内的一系列列,并遍历每列中的每个单元格。
for col in sheet.iter_cols(min_row=1, max_row=1, min_col=1, max_col=1): for cell in col: print(cell.value)
4.3 遍历所有行和列
除了使用上述方法来遍历特定范围内的行和列,我们还可以直接获取工作表中的所有行和列,并遍历每个单元格。
# 遍历所有行 for row in sheet.rows: for cell in row: print(cell.value) # 遍历所有列 for col in sheet.columns: for cell in col: print(cell.value)
4.4 获取所有单元格的值
如果我们只关注单元格中的值,并跳过格式信息,可以使用iter_rows()
和iter_cols()
方法的values_only=True
参数来实现。
# 获取所有行的值 for row in sheet.iter_rows(values_only=True): for cell_value in row: print(cell_value) # 获取所有列的值 for col in sheet.iter_cols(values_only=True): for cell_value in col: print(cell_value)
4.5 获取指定范围的单元格区域
如果我们只需要获取特定范围内的单元格区域,可以使用切片来实现。
# 获取指定范围内的单元格区域 for row in sheet['A1:E8']: for cell in row: print(cell.value)
总结
本文介绍了如何使用openpyxl库读取Excel文件中的数据。通过加载工作簿、获取指定工作表以及遍历行和列,我们可以轻松地读取Excel文件中的数据并进行处理
完整代码:
import pandas as pd import matplotlib.pyplot as plt # 设置中文字体为黑体 plt.rcParams['font.family'] = ['SimHei'] # 从Excel文件中读取数据 data = pd.read_excel(r'C:\Users\liuchunlin2\Desktop\新建文件夹\新建 XLSX 工作表.xlsx') # 按店铺名称聚合销售数量 sales_by_shop = data.groupby('店铺名称')['销售数量'].sum() # 使用 groupby() 方法按店铺名称聚合销售数量,并计算每个店铺的销售总量,结果保存在 sales_by_shop Series 中 # 绘制圆环图 fig, ax = plt.subplots(figsize=(8, 8)) colors = ['#ff9999', '#66b3ff', '#99ff99', '#ffcc99', '#ffa3a3'] # 设置颜色 wedges, texts, autotexts = ax.pie(sales_by_shop, labels=sales_by_shop.index, startangle=90, autopct='%.2f%%', wedgeprops={'width': 0.3}, labeldistance=1.15, colors=colors) # 使用 ax.pie() 方法绘制圆环图,其中传递销售数量数据、标签、起始角度、百分比格式、扇形区域宽度、标签距离和颜色等参数,并将返回的三个对象分别保存在 wedges、texts 和 autotexts 变量中。 # 添加标题和图例 ax.set_title('店铺销量占比', size=20) # 设置标题 ax.legend(wedges, sales_by_shop.index, # 添加图例 title="店铺名称", # 图例标题 loc="center left", # 图例位置 bbox_to_anchor=(1, 0, 0.5, 1), # 图例框的坐标 fontsize=14) # 修改字体大小 plt.setp(texts, size=15) # 修改标签字体大小 plt.setp(autotexts, size=14) # 修改百分比字体大小 # 显示图形 plt.show()
标签:遍历,sheet,openpyxl,读取,Excel,cell,col,row From: https://www.cnblogs.com/lcl-cn/p/17810586.html