python 操作excle 之第三方库 openpyxl学习

安装 pip install openpyxl

英文文档链接 : 点击这里~


1,定位excel

新建excel和打开现有的excel

import openpyxl
wb1 = openpyxl.load_workbook('text.xlsx') #定位到现有的excle
wb2= openpyxl.Workbook() #创建一个新的excle表 (其中没有任何工作簿!!!)

定位到具体的工作表(因为一个excle中可能存在多个工作表)

bo1=wb1.active                     #定位到 wb1 指向的excle 的第一个工作簿
bo2=wb1.get_sheet_by_name("name") #定位到 名为 name 的工作簿
bo3=wb1["new title"] #定位到名为 new title 的工作簿

2,读取excle中的内容

使用openpyxl.wordsheet.Worksheet.cell方法从单元格中读取内容

#读取内容
#利用openpyxl读取内容主要是从每个单元格中 读取
#定位到单元格的方法
#使用value属性获取当前单元格的值
content=bo1['A4'].value
content3=bo1.cell(row=4,column=2).value #也可以使用迭代 多个单元格在使用value方法,类似于list的切片
content4=bo1['A1':'C2'] #使用
#openpyxl.worksheet.Worksheet.iter_rows()方法
for a in content4:
print(a.value)

3,写入,修改内容

3.1 针对单个单元格写入

参考代码

import openpyxl
work=openpyxl.load_workbook("dat.xlsx")
book=work.active
print("before:",book.cell(1,1).value)
book['A1'].value="1"
#book.cell(1,1).value="1" 效果等同于上调语句
print("after:",book.cell(1,1).value)
work.save("123.xlsx")#一定记得保存!!!

运行截图

python 操作excle 之第三方库 openpyxl学习-LMLPHP

3.2 针对多个单元格写入

参考代码

import openpyxl
work=openpyxl.load_workbook("123.xlsx")
book=work.active
# print("before:",book.cell(1,1).value)
# book['A1'].value="1"
# print("after:",book.cell(1,1).value)
# work.save("123.xlsx")
for a in range(1,6): #写入第1行至第5行
for b in range(1,11): #迭代第1列到第10列
#下面三条语句的效果都是一样的
book.cell(a,b).value=str(a)+":"+str(b)
# book.cell(row=a,column=b).value=str(a)+":"+str(b)
# book.cell(row=a, column=b,value="{}".format(str(a)+":"+str(b)))
work.save("1.xlsx")

实现的效果

python 操作excle 之第三方库 openpyxl学习-LMLPHP

4,文件保存

通过 openpyxl.workbook,Workbook.save()方法保存文件是最简单最安全的:

wb.save('balances.xlsx')

05-11 13:36