1) 遍历一个SHEET,无非就是两个循环,rows属性是取得所有行。
fn = 'data3_16.xlsx'
wb = openpyxl.load_workbook(fn)
ws = wb.active
for row in ws.rows:
for cell in row:
print(cell.value, end=' ')
print()
2) 返回工作表的最小行数和最小列数
fn = 'data3_19_1.xlsx'
wb = openpyxl.load_workbook(fn)
ws = wb.active
print(f"工作表有资料最小行数 = {ws.min_row}")
print(f"工作表有资料最大行数 = {ws.max_row}")
print(f"工作表有资料最小列数 = {ws.min_column}")
print(f"工作表有资料最大列数 = {ws.max_column}")
3)用values_only=True,可以显示遍历每个行中的单元格内容:
比如EXCEL:
则:
fn = 'data3_19_1.xlsx'
wb = openpyxl.load_workbook(fn)
ws = wb.active
for row in ws.iter_rows(values_only=True):
print(type(row))
print(row)
输出:
<class 'tuple'>
(1, 5, 9, 13)
<class 'tuple'>
(2, 6, 10, 14)
<class 'tuple'>
(3, 7, 11, 15)
<class 'tuple'>
(4, 8, 12, 16)
4) 获得指定行或列的值:
fn = 'data3_16.xlsx'
wb = openpyxl.load_workbook(fn)
ws = wb.active
for cell in ws['A']: # A列
print(cell.value)
for cell in ws[5]: # 索引是5,输出第5行的所有内容。
print(cell.value, end=' ')