一、认识表格的基本组成
1.工作簿(workbook)
2.表单(worksheet)
3.行(横着的)、列(竖着的)(row,column)
4.单元格(cell)
二、安装openpyxl库
pip install openpyxl
三、读取工作簿
import openpyxl
wb = openpyxl.load_workbook('XXX.xlsx')
四、操作表单
1.打印所有的表单名称,储存在列表中
print(wb.sheetnames)
2.遍历所有表单
for sheet in wb:
print(sheet.title)
3.新建一个表单
wb.create_sheet('mySheet')
4.根据表单名称读取表单
sheet1 = wb.get_sheet_by_name('Sheet1') #不推荐使用
sheet2 = wb['sheet2']
ws = wb.active() #活跃表单
五、读取单元格
1.根据单元格坐标读取单元格
print(ws['A1'])
2.指定行列读取单元格
print(ws.cell(row=1, column=2))
3.读取单元格的属性
print(ws['A1'].value) #读取单元格的值
print(ws['A1'].row) #读取的表格的行数
print(ws['A1'].column) #读取的表格的列数
print(ws['A1'].coordinate) #读取的表格的行列数。输出的值为'A1'
4.遍历整列
colC = ws['C'] #遍历C列
for cell in colC:
print(cell.value)
colrange = ws['C:D'] #切片遍历C-D列
for col in colrange:
for cell in col:
print(cell.value)
5.遍历整行
row6 = ws[6] #遍历第6行
for cell in row6:
print(cell.value)
rowrange = ws['2:5'] #切片遍历2-5行
for row in rowrange:
for cell in row:
print(cell.value)
6.遍历某个区间
for row in ws.iter_rows(min_row=5,max_row=34, min_col=1, max_col=5):
for cell in row :
print(cell.value)
7.全表遍历
table = tuple(ws.columns) #全表遍历(一列一列的遍历) ws.rows为一行一行遍历
for i in table:
for cell in i:
print(cell.value)
8.指定范围遍历
cell_range= ws['A1:C3']
for i in cell_range:
for cell in i:
print(cell.coordinate,cell.value)
9.获取最大行、最大列
ws.max_row
ws.max_column
10.字母与数字相互转化
from openpyxl.utils import get_column_letter, column_index_from_string
print(get_column_letter(99)) #输出结果AU
print(column_index_from_string('DC')) #输出结果107