接上篇:
from openpyxl import load_workbook # 可以对已存在的Excel文件进行读写操作
# 使用load_workbook来实现Excel读写
# 1.打开Excel文件(test_cases.xlsx已存在)
wb = load_workbook("test_cases.xlsx")
# 2.定位表单
ws = wb['sheet1'] # ws为worksheet对象(相当如Excel中的一个表单)
# 3.定位单元格
# 方法一:处理指定的一个单元格
one_cell = ws.cell(row=2,column=2) # one_cell相当于表单中的某个单元格
print(one_cell.value)
# 方法二:每遍历一次处理一个单元格
# worksheet对象中有以下重要属性:
for row_index in range(ws.min_row+1,ws.max_row+1): # max_row:单元格最大行;min_row:单元个准小行;
for col_index in range(ws.min_column,ws.max_column+1): # max_column:单元个最大列;min_column:单元格最小列;
data = ws.cell(row=row_index,column=col_index).value
print("值为:{}\n类型为:{}\n".format(data,type(data)))
# 方法三:
# worksheet对象有如下重要方法
# iter_rows:返回一个生成器,是由每一行数据构成的元组
# iter_columns:返回一个生成器,是由每一列数据构成的元组
for row_tuple in ws.iter_rows(min_row=2): # 每遍历一次,会将某一行的所有单元格对象(cell对象)组成一个元组返回
# print(row_tuple)
for one_cell in row_tuple:
data = one_cell.value
print("值为:{}\n类型为:{}\n".format(data, type(data)))
# 或者:
for row_tuple in ws.iter_rows(min_row=2,values_only=True): # 每遍历一次,会将某一行的所有单元格(cell对象)的值组成一个元组返回
for data in row_tuple:
print("值为:{}\n类型为:{}\n".format(data, type(data)))
# 方法四:指定需要处理的所有单元格
sheets = ws["A2:G5"] # 返回嵌套元组的元组,内层元组是由每一行的每一个单元格cell对象组成的
for row in sheets:
for cl in row:
data = cl.value
print("值为:{}\n类型为:{}\n".format(data, type(data)))