接上篇:
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)))