需要用到第三方模块
import openpyxl
分为三大对象
工作簿workbook、表单worksheet、行,列,单元格(raw,column,cell)
每个对象都有相应的方法,属性等
1、workbook的读写
一般先定义一个先接收读取工作簿的变量
wb = openpyxl.load_workbook("这里写文件的路径.xlsx") #加载文件
# 打印所用有的sheet名
print(wb.sheetnames) # type>>list
for sheet in wb:
print(sheet.title) # 遍历的方式打印出sheet名 表单方法.title 显示该表单的名称
添加表单
wb.create_sheet('表单名称') # 创建一张表单
定位表单
wb.get_sheet_by_name("表单名") # 通过表单名定位
workSheet = wb.active() # 定位活跃的表单
单元格
定位单元格
get_cell = workSheet["A1"] # 定位A1的单元格
get_cell.value # 打印出单元格的值
print("{},{},{}".format(get_cell.row, get_cell.column, get_cell.value)) # 打印出该单元格所在的行,所在的列及该单元格的值
print("{},{}".format(get_cell.coordinate, get_cell.value)) # 打印出该单元格所在的位置及值coordinate方法是定位该单元格的位置
print(workSheet.cell(raw=1, column=2).value) # 打印出该表单中的行号为1,列数为2的单元格的值
读取A列中的所有的单元格的值
get_cells = workSheet["A"]
for cell in get_cells: # 遍历出A列中的单元格的值并返回
return cell.value
读取1行中所有的单元格的值
get_raws = workSheet[1]
for raw in get_raws:
return raw.value # 遍历出第一行中的单元格的值并返回
读取A-C列的单元格的值
get_cells = workSheet["A:C"]
for cells in get_cells: # 遍历出A~C列中的单元格的值
for cell in cells: # 遍历出该列的单元格的值
return cell.value
读取第1-第3行 2列的单元格
for cells in workSheet.iter_rows(min_row=1, max_row=3, max_col=2): # 使用表单的方法.iter_rows 获取区间 最大行,最小行,最大列数
for cell in cells:
return cell.value
读取A1-C3的单元格
get_cells = workSheet["A1:C3"]
for cells in get_cells:
for cell in cells:
return cell.value
获取表单最大行,最大列
print(workSheet.max_row, workSheet.max_column)
将列号转换为数字 需求导入模块
from openpyxl.utilsimport get_column_letter, column_index_from_string
print(get_column_letter(1000)) # 打印出第1000列的列
print(column_index_from_string("AAP")) # 打印出AAP列的列数字