十分钟教会你使用Python操作excel,内附步骤和代码
这篇文章主要介绍了python使用openpyxl操作excel的方法步骤 , 详细的介绍了openpyxl的常用属性以及操作excel的方法 , 感兴趣的可以了解一下
一 前言
放大招了 , 学完这篇openpyxl第三方库 , 读者将会懂得如何灵活的读取excel数据,如何创建excel工作表;更新工作表 , 删除工作表;是不是感觉很强大 , 留下赞赞吧!!
二 openpyxl常用属性函数
文章插图
三 读取excel
读取整体流程如下
- 加载工作本
- 获取标签页
- 获取指定区域的单元格
- 获取单个单元格对象
- 通过单元格对象获取值
创建一个名为zszxz.xlsx excel文件;其中标签sheet名为zszxz; 列A B C 如下;
id num name1 100 zszxz2 101 smile3 102 kitty4 103 wolf5 104 cloud6 105 water
3.2 安装支持操作excel和图像
pip install openpyxlpip install pillow
3.3 获取所有标签页名称# -*- coding: utf-8 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获得所有标签页sheet_names = workbook.get_sheet_names()print(sheet_names)
输出['zszxz']
正确的获取方式
# -*- coding: utf-8 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获得所有标签页名称print(workbook.sheetnames)
3.4 获取指定标签页对象不建议通过方法获得标签页对象 , 建议通过属性方式获取;
# -*- coding: utf-8 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获得指定的sheetsheet = workbook.get_sheet_by_name('zszxz')print(sheet)
输出正确的获取方式
# -*- coding: utf-8 -*-import openpyxlpath = 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 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获取sheet对象sheet = workbook['zszxz']# 复制sheetcp_sheet = workbook.copy_worksheet(sheet)print(cp_sheet)
输出3.5 获取指定一个单元格对象
指定获取A1单元格对象
# -*- coding: utf-8 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获取sheet对象sheet = workbook['zszxz']# 获取指定单元格cell = sheet['A1']print(cell)
输出方式二
# -*- coding: utf-8 -*-import openpyxlpath = 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 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获取sheet对象sheet = workbook['zszxz']cells_range = sheet['A1':'C1']for cells in cells_range:for cell in cells:print(cell)
输出方式二
# -*- coding: utf-8 -*-import openpyxlpath = 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 in row:print(cell)
输出(
sheet.iter_cols(min_row, max_col, max_row)通用的道理 , 不赘述
3.7 获取全部行
# -*- coding: utf-8 -*-import openpyxlpath = r'C:\mydata\generator\py\zszxz.xlsx'# 加载工作本workbook = openpyxl.load_workbook(path)# 获取sheet对象sheet = workbook['zszxz']# 获取所有行for row in sheet.rows:print(row)
输出(
同理 sheet.columns获取所有列不再赘述
3.8 获取值
- 麒麟|荣耀新款,麒麟810+4800万超清像素,你还在犹豫什么呢?
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- 国产手机|国产手机新品频发,果粉们你们还能忍得住吗?
- 减重|快看!奇瑞蚂蚁都减重了 那你还焦虑什么?
- 化妆产品|直播带货年入百万,这8个行业告诉你:是真的
- 关华为P50Pro|华为P50Pro概念图:半圆形6摄,看完iPhone12劝你暂时别买
- 屏幕|苹果iPhone12屏幕不仅发白,还绿的你发慌,用户:环保绿
- 主题活动|首届“上海在线生活节”启动,8大电商平台优惠活动承包你的12月
- 月入|一上网,感觉网上每个人都是月入过万,到底是错觉还是你out了?
- 社区团购|你在买菜APP上薅的每一根羊毛,都将加倍奉还!