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

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')

原文地址:https://www.cnblogs.com/shitou6/p/8982124.html