python openpyxl 操作 Excel
安装openpyxl
pip install openpyxl
工作簿的新建打开和保存
1,读取和保存xlsx文件(创建工作簿)
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.Workbook(file)
book.save(file) # 保存工作簿
2,读取工作表
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
worksheet = book ['Sheet'] # Sheet值为你想要读取的工作表名称
print(worksheet)
3,读取最后保存的工作表(获取活跃的表格)
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
worksheet = book.active # 以最后保存的工作表读取
print(worksheet)
工作表的创建删除与复制
1,显示所有的工作表
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
See_all_workbook = book.worksheets
print(See_all_workbook)
2,获取表名称
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
See_all_workbook = book.worksheets
for i in See_all_workbook:print(i.title)
3,删除工作簿
import openpyxl as vb
file = r'周杰伦.xlsx'
file1 = r'周杰伦1.xlsx'
book = vb.load_workbook(file)
worksheet = book['Sheet']
book.remove(worksheet)
book.save(file1) # 不修改原文件保存至另存文件
ps:这个需要注意的点,原文件周杰伦.xlsx,只有一个Sheet的工作簿,需要再添加一个工作簿;不然直接删除了Sheet工作簿,周杰伦1.xlsx的文件就打开不了,因为里面已经没有工作簿了
4,创建工作簿
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
book.create_sheet('Sheet2')
book.save(file)
5,复制工作簿
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
workSheet_Copy = book.copy_worksheet(book['Sheet'])
book.save(file)
6,给复制的工作簿起名字
import openpyxl as vb
file = r'周杰伦.xlsx'
book = vb.load_workbook(file)
workSheet_Copy = book.copy_worksheet(book['Sheet']) # 复制Sheet这张表
workSheet_Copy.title = '复制的工作表!' # 给复制的表起名字
book.save(file)
创建多个工作簿
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.Workbook(file)
for i in range(1,32):book.create_sheet('9月' + str(i) + '日')
book.save(file)
修改所有的工作簿
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
See_all_workSheet = book.worksheets
for i in See_all_workSheet:# print(i.title) # 显示所有工作表,表名i.title = '北京' + '-' + i.titlebook.save(file)
比对所有的工作簿,找出不是上海的删除
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
See_all_workSheet = book.worksheets
for i in See_all_workSheet:if i.title.split("-")[0] != '上海': # 不等于上海的全删除workSheet = book[i.title] # 找出不是上海book.remove(workSheet) # 进行删除操作
book.save(file)
ps:自己修改一个是上海的,例:上海-9月1日
复制模板,生成多个模板后删除原模板
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
for i in range(1,32):copy_sheet = book.copy_worksheet(book['模板']) # 获取工作簿名为'模板'复制copy_sheet.title = '7月' + str(i) + '日' # 修改其标题名称为7月 for循环的i值 日
book.remove(book['模板'])
book.save(file)
获取工作簿单元格的值
1,获取某个单元格的值—方法1
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = work_sheet['A1'].value
print(data)
2,获取某个单元格的值—方法2
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = work_sheet.cell(row=1,column=1).value
#data = work_sheet.cell(1,1).value # 可以省略row,column的写法
print(data)
3,for循环,提取A,B,C列,10行数据
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
print("列",'A','B','C')
for i in range(1,10,1): print(i,work_sheet.cell(row=i,column=1).value, work_sheet.cell(row=i,column=2).value, work_sheet.cell(row=i,column=3).value)
ps:row 获取 i 的值,就是行数;column分别设置A-1,B-2,C-3列
4,每一行从左到右输出完,再到下一行 →↓
1.方法1
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = work_sheet['A1:C10']
for o in data:for i in o:print(i.value)
2.方法2
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
some_range = work_sheet.iter_rows(min_row=1,max_row=10,min_col=1,max_col=3)for i in some_range:for data in i:print(data.value)
5,每一列从上到下输出完,再到下一列 ↓→
1.方法1
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = work_sheet['A:C']
for o in data:for i in o:print(i.value)
2.方法2
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
for i in work_sheet.columns:for data in i:print(data.value)
6,以列表的形式输出内容
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = list(work_sheet.values)
for i in data:print(i)
7,通过切片截取部分内容,以列表的形式输出内容
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
data = list(work_sheet.values)[1:3]
for i in data:print(i)
数字字母的转换
1,数字转换字母
import openpyxl as vb
number_str = vb.utils.get_column_letter(1)
print(number_str)
2,字母转换数字
import openpyxl as vb
str_number = vb.utils.column_index_from_string('B')
print(str_number)
动态读取数据
1,输出表格数据的最大行数
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
max_line = work_sheet.max_row
print(max_line)
2,输出表格数据的最大列数
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
max_line = work_sheet.max_column
print(max_line)
3,获取单元格的值,输出单元格位于哪一行
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
A1_data = work_sheet['A2'].row
print(A1_data)
4,获取某一列的数据,添加至空的列表
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
list = []
for i in work_sheet['A']:list.append(i.value)print(list)
print(list[1:4]) # 可通过切片截取
5,获取某一行的数据,添加至空的列表
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
list = []
#for i in work_sheet['1']:
for i in work_sheet[1]: # 可不加单引号list.append(i.value)print(list)
6, 获取所有行的数据,添加至空的列表,→↓
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
list = []
for i in work_sheet.rows:for data in i:list.append(data.value)
print(list)
写入与插入数据
写入单元格修改值
1,方法1
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
work_sheet['D1'] = '林俊杰'
book.save(file)
2,方法2
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
work_sheet.cell(2,4,value='林俊杰')
book.save(file)
把列表内容,追加写入工作簿最后一行
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
list = ['1','2','3','4','5']
work_sheet.append(list)
book.save(file)
范围写入内容,E1:H4 范围的单元格值都写入233
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
for line in work_sheet['E1:H4']:for data in line:data.value = 233
book.save(file)
插入列
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
work_sheet.insert_cols(idx=2,amount=5)
book.save(file)
插入行
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
work_sheet.insert_rows(idx=2,amount=5)
book.save(file)
删除行和列
import openpyxl as vb
file = r'林俊杰.xlsx'
book = vb.load_workbook(file)
work_sheet = book['Sheet1']
work_sheet.delete_rows(idx=2,amount=5)
work_sheet.delete_cols(idx=2,amount=5)
book.save(file)
参考:
Python办公自动化之Excel篇 openpyxl库 python中的VBA 【已完结】 Python自动化_哔哩哔哩_bilibili
python openpyxl 操作 Excel相关推荐
- python openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改
python xlrd/openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改 代码: 错误: excel读 ...
- python openpyxl 操作excel ,使用 conditional_formatting,insert_rows
场景 python 使用 openpyxl 操作 excel 对于简单的格式来说还是挺方便的,但是对于复杂的格式,操作没有手动来的简单,如果对于复杂的格式也不是用python来做的.对于一个原有的报表 ...
- python openpyxl操作Excel表格
原创:未经允许不得转载,转载需标明出处 打算分为两个部分: 第一部分为:操作Excel表格 第二部分为:操作Excel图表 现在发布为第一部分内容 在最近的项目中的使用到了提取Android帧率日志, ...
- Python.openpyxl操作Excel
Python 操作 Excel 存取数据 1. openpyxl 模块 1.1 安装 openpyxl 模块 1.2 Excel 文件的三个对象 1.2.1 Workbook 对象 1.2.2 Wor ...
- python openpyxl 操作excel 保留原格式
修改前的excel数据 代码如下 import openpyxl wb = openpyxl.load_workbook(u'E:/exceltest/oldexcel.xlsx') sheetnam ...
- python openpyxl 操作excel 插入行,列
import openpyxl wb = openpyxl.load_workbook("D:\村数据\实验.xlsx") ws = wb["Sheet1"] ...
- 包无法安装_详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel
详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel 注意:下列教程为 Windows7 64位:Windows 10有部分步骤有差异,请参考使用! 01 下载Python程序 ...
- Python办公自动化之 openpyxl 操作 Excel
今天给大家分享一篇用 openpyxl 操作 Excel 的 Python 办公自动化文章.5分钟就能掌握- 各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很 ...
- Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法
Openpyxl 设置 excel 单元格合并.对齐样式和字体 第一章:openpyxl 操作 excel ① 设置单元格合并 ② 设置单元格居中对齐样式 ③ 设置单元格字体样式 第一章:openpy ...
最新文章
- 三对角线性方程组的追赶法
- Power Shell02 认识powershell
- 通俗易懂的sys.argv[]的用法
- Spring常见的十八中异常Exception
- 野火linux底板设计,野火STM32F767套件(底板+核心板)
- java mongodb 使用场景_mongodb使用场景一般是什么?mongodb有哪些基本命令?
- AnyTrans使用教程:将照片从 Mac 传输到 iPhone 的方法
- HTML,CSS,JavaScript学习笔记--导航
- 003之MFCSocket异步编程(指针机制)
- linux中ifi_info的英文全称,【DNS服务器IP地址-域名注册查询-CDN加速技术】
- 基于vc的freetype字体轮廓解析_才一年,长安又换新LOGO,连带字体也升级了,你喜欢吗?_搜狐汽车...
- Ubuntu 上搭建 TFTP 服务器
- 12.15 小程序验证码点击刷新
- 设计测测试用例的五大方法
- css 实现一个尖角_css3如何做尖角标签效果?
- springcloud config非对称加密
- 基于腾讯云的多人视频会议的在线语音转写功能的实现
- 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
- 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
- WordCount的理解与MapReduce的执行过程