#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']print(sheet)
输出
当然读者也可以通过循环工作本方式获取sheet,不赘述;
3.5 复制sheet
在已有的sheet上可以进行复制一个副本;
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']#复制sheet
cp_sheet =workbook.copy_worksheet(sheet)print(cp_sheet)
输出
3.5 获取指定一个单元格对象
指定获取A1单元格对象
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']#获取指定单元格
cell = sheet['A1']print(cell)
输出
方式二
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']#获取指定单元格
cell = sheet.cell(row=1, column=1)print(cell)
输出
3.6 访问多个单元格
访问单元格获取单元格对象;
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']
cells_range= sheet['A1':'C1']for cells incells_range:for cell incells:print(cell)
输出
方式二
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']#获取指定范围的行
row = sheet.iter_rows(min_row=1, max_col=3, max_row=1)for cell inrow:print(cell)
输出
(, , )
sheet.iter_cols(min_row, max_col, max_row)通用的道理,不赘述
3.7 获取全部行
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']#获取所有行
for row insheet.rows:print(row)
输出
(, , )
(, , )
(, , )
(, , )
(, , )
(, , )
(, , )
同理 sheet.columns获取所有列不再赘述
3.8 获取值
cell.value获取属性值
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获取sheet对象
sheet = workbook['zszxz']
cells_range= sheet['A1':'C1']for cells incells_range:for cell incells:#获取属性值
print(cell.value)
输出
id
num
name
四 写入 excel
4.1 写入文本
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#写入文本形式
sheet['A1'] = 'zszxz666'
#读取
print(sheet['A1'].value)#保存
workbook.save(path)
输出
zszxz666
4.2 写入数字
#-*- coding: utf-8 -*-
importopenpyxlimportdatetime
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#写入值数字形式
sheet['A2'] = datetime.datetime(2020, 10, 15)print(sheet['A2'].value)#保存
workbook.save(path)
输出
2020-10-15 00:00:00
4.3 写入公式
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#写入公式
sheet['A3'] = '=SUM(1, 1)'
print(sheet['A3'].value)#保存
workbook.save(path)
4.5 取消合并单元格
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#取消合并单元格
sheet.unmerge_cells('A2:D2')#保存
workbook.save(path)
4.5 插入图片
#-*- coding: utf-8 -*-
importopenpyxlfrom openpyxl.drawing.image importImage
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#设置图像
img = Image(r'C:\mydata\generator\py\main.jpg')#设置图像单元格说明
sheet['A1'] = 'you are my angel'
#插入图片
sheet.add_image(img, 'A1')#保存
workbook.save(path)
结果如下:
4.6 隐藏轮廓
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'wb=openpyxl.Workbook()
ws=wb.create_sheet()#隐藏行 A-B
ws.column_dimensions.group('A', 'B', hidden=True)#隐藏 列 1 -5
ws.row_dimensions.group(1, 5, hidden=True)
wb.save(path)
4.7 设置行高列高
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#创建一个工作本
workbook =openpyxl.Workbook()#创建一个 sheet
sheet = workbook.create_sheet('zszxz')#写入文本形式
sheet['A1'] = 'zszxz666'
#设置行高
sheet.row_dimensions[1].height = 50
#设置列高
sheet.column_dimensions['A'].width = 30workbook.save(path)
五 删除sheet
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获得sheet
sheet = workbook['Sheet']#移除sheet
workbook.remove(sheet)#保存
workbook.save(path)
六 更新工作表
#-*- coding: utf-8 -*-
importopenpyxl
path= r'C:\mydata\generator\py\zszxz_write.xlsx'
#加载工作本
workbook =openpyxl.load_workbook(path)#获得sheet
sheet = workbook['zszxz']#获得值
val = sheet['A1'].valueprint(val)#重新赋值
new_val = sheet['A1'].value = 'zszxz'
print(new_val)#保存
workbook.save(path)
输出
zszxz666
zszxz
七 参考文档
更多内容参考官方文档;openpyxl,到此这篇关于python使用openpyxl操作excel的方法步骤的文章就介绍到这了。
实操远比理论来的有用,这里给读者推荐一套《2020最新企业级项目实战案例》视频教程,这套实战案例对于小白和刚入门的小鸟还是比较友好的,有许多打基础的案例,能够帮你快速入门Python。需要的读者可以点击“领取”下载。
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。