openpyxl获取多个单元格的数据,前面的文章我们依次介绍过读取行列数据(这也算多个单元格),比如
Worksheet.iter_rows()方法,参考iter_rows()方法。
Worksheet.iter_cols()方法,参考iter_cols()方法。
Worksheet.columns属性,参考columns属性。
Worksheet.rows属性,参考rows属性 。
以及直接获取值的参数values_only=True(参考openpyxl获取不读取公式)及sheet的values属性(参考openpyxl直接获取值)。
本文介绍另一种方式,看看官方文档的举例:
Ranges of cells can be accessed using slicing:
cell_range = ws['A1':'C2']
Ranges of rows or columns can be obtained similarly:
colC = ws['C']
col_range = ws['C:D']
row10 = ws[10]
row_range = ws[5:10]
# -*- coding: utf-8 -*-
from openpyxl import load_workbook
wb = load_workbook('test.xlsx')
ws = wb.active
colC = ws['C'] # 获取c列
col_range = ws['C:D'] # 获取C到D列
row10 = ws[2] # 获取第二行
row_range = ws[1:2] # 获取1到2行
# 输出下1到2行的数据
for row in row_range:
for cell in row:
print(cell.value)
1
3
a
11
2
4
b
22