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")#一定记得保存!!!
运行截图
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")
实现的效果
4,文件保存
通过 openpyxl.workbook,Workbook.save()方法保存文件是最简单最安全的:wb.save('balances.xlsx')