获取单元格属性单元格基本信息除了value(值),单元格还有以下常用属性:属性说明示例cell.row行号(从1开始)2cell.column列号(从1开始)2cell.coordinate坐标'B2'cell.value单元格值'李白'代码示例:from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 获取单元格 cell = sheet["B2"] # 李白 cell2 = sheet["C4"] # 96 # 打印单元格属性 print(f"单元格 {cell.coordinate}:") print(f" 行号: {cell.row}") print(f" 列号: {cell.column}") print(f" 值: {cell.value}") print(f"\n单元格 {cell2.coordinate}:") print(f" 行号: {cell2.row}") print(f" 列号: {cell2.column}") print(f" 值: {cell2.value}")运行结果:单元格 B2: 行号: 2 列号: 2 值: 李白 单元格 C4: 行号: 4 列号: 3 值: 96应用场景:遍历单元格时需要知道当前位置根据行列号进行条件判断动态生成坐标获取区域数据进阶按列获取数据:sheet.iter_cols()上一篇我们学了iter_rows()按行获取数据,现在学习iter_cols()按列获取:from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 按列获取数据(第1-2列,第1-4行) print("按列获取数据:\n") for col in sheet.iter_cols(min_row=1, max_row=4, min_col=1, max_col=2): print(f"列数据: {[cell.value for cell in col]}")运行结果:按列获取数据: 列数据: ['学号', '1', '2', '3'] 列数据: ['姓名', '李白', '甄姬', '后羿']对比记忆:iter_rows()→ 横向遍历,一行一行读取iter_cols()→ 纵向遍历,一列一列读取快速获取所有行列:sheet.rows/sheet.columnsfrom openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 获取所有行 print("所有行数据:") for row in sheet.rows: print([cell.value for cell in row]) # 获取所有列 print("\n所有列数据:") for col in sheet.columns: print([cell.value for cell in col])效果等同于:sheet.rows=sheet.iter_rows()sheet.columns=sheet.iter_cols()注意:这两个属性会加载所有数据,大数据量时建议使用iter_rows()/iter_cols()行列操作插入空行/空列方法语法说明插入行sheet.insert_rows(idx, amount)在 idx 行前插入 amount 行插入列sheet.insert_cols(idx, amount)在 idx 列前插入 amount 列代码示例:from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook['花名册'] # 在第3行前插入2行空行 sheet.insert_rows(idx=3, amount=2) # 在第2列前插入1列空列 sheet.insert_cols(idx=2, amount=1) workbook.save(r'D:\王者