一、openpyxl读excel文件
-
openpyxl这个第三方库只能操作后缀 .xlsx 的Excel文件
-
工作簿(WorkBook):一个Excel文件就是一个工作簿
-
工作表(Sheet):数据是以单元格为单位保存到工作表中,一个工作簿中可以一个或者多个工作表(至少一个)
-
单元格(Cell):工作表中的每一个格子
1、打开excel文件
- openpyxl.open(excel文件路径)
- openpyxl.load_workbook(excel文件路径)
wb = openpyxl(./files/data.xlxs)
2、获取工作簿中所有工作表的表名
- 工作簿.sheetnames
names = wb.sheetnames
print(names)
3、获取工作表
- 工作簿.active - 获取当前excel文件中的活跃表(被选中的那张表)
- 工作簿[表名] - 获取指定表名对应的工作表
4、获取最大的行数或者列数
- 工作表.max_row - 获取指定工作表中的最大行数
- 工作表.max_column - 获取指定工作表中的最大列数
5、获取单元格
- 工作表.cell(行号,列号)
6、获取单元格中的内容
- 单元格.value
二、灵活运用
import openpyxl
wb=openpyxl.load_workbook('files/data.xlsx') # 打开工作簿
sheet = wb['原始数据'] #获取工作表
row=3
for col in range(1,sheet.max_column+1)
cell = sheet.cell(row,col)
print(cell,value) #输出第三行所有的数据
for row in range(1,sheet.max_row+1)
for col in range(1,sheet.max_column+1)
cell= sheet.cell(row,col)
print(cell.value)
三、excel的操作
- 创建工作簿
wb = openpyxl.Workbook()
- 创建新的工作表
wb.creat_sheet()
wb.creat_sheet('student') #使用指定的名字新建工作表(默认放最后)
wb.creat_sheet('teacher',0) # 在指定位置插入指定名字的新建工作表
- 删除工作表
- 工作簿.remove(工作表名字)
- 修改单元格内容
- 单元格.value = 数据
wb1=openpyxl.open('./files/data.xlsx')
sheet1 = wb1['原始数据']
sheet1.cell(1, 6).value = '平均分'
sheet1.cell(6, 2).value = '(缺考)'
sheet1.cell(2, 2).value = None
- 保存excel
- 工作簿. save(文件路径)