写点什么

使用 openpyxl 库读取 Excel 文件数据

  • 2023-11-07
    福建
  • 本文字数:1849 字

    阅读完需:约 6 分钟

在 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 文件中的数据并进行处理


完整代码:


from openpyxl import load_workbook
# 加载工作簿workbook = load_workbook(filename=r'C:\Users\liuchunlin2\Desktop\新建文件夹\新建 XLSX 工作表.xlsx')
# 指定要获取数据的工作表名称sheet_name = "Sheet1"
# 获取指定名称的工作表sheet = workbook[sheet_name]
# 使用 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)
# 使用 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)
# rows 属性返回工作表中所有行的列表for row in sheet.rows: for cell in row: print(cell.value)
# columns 属性返回工作表中所有列的列表for col in sheet.columns: for cell in col: print(cell.value)
# 使用 iter_rows() 方法获取工作表中的所有行并返回每个单元格的值,values_only=True 参数可以跳过单元格的格式信息for row in sheet.iter_rows(values_only=True): for cell_value in row: print(cell_value)
# 使用 iter_cols() 方法获取工作表中的所有列并返回每个单元格的值,values_only=True 参数可以跳过单元格的格式信息for col in sheet.iter_cols(values_only=True): for cell_value in col: print(cell_value)
# 使用切片来获取指定范围内的单元格区域,并使用嵌套循环来遍历该区域内的每个单元格for row in sheet['A1:E8']: for cell in row: print(cell.value)
复制代码


文章转载自:qwerrt9

原文链接:https://www.cnblogs.com/lcl-cn/p/17810586.html

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
使用openpyxl库读取Excel文件数据_工具_不在线第一只蜗牛_InfoQ写作社区