安装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相关推荐

  1. python openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改

    python xlrd/openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改 代码: 错误: excel读 ...

  2. python openpyxl 操作excel ,使用 conditional_formatting,insert_rows

    场景 python 使用 openpyxl 操作 excel 对于简单的格式来说还是挺方便的,但是对于复杂的格式,操作没有手动来的简单,如果对于复杂的格式也不是用python来做的.对于一个原有的报表 ...

  3. python openpyxl操作Excel表格

    原创:未经允许不得转载,转载需标明出处 打算分为两个部分: 第一部分为:操作Excel表格 第二部分为:操作Excel图表 现在发布为第一部分内容 在最近的项目中的使用到了提取Android帧率日志, ...

  4. Python.openpyxl操作Excel

    Python 操作 Excel 存取数据 1. openpyxl 模块 1.1 安装 openpyxl 模块 1.2 Excel 文件的三个对象 1.2.1 Workbook 对象 1.2.2 Wor ...

  5. python openpyxl 操作excel 保留原格式

    修改前的excel数据 代码如下 import openpyxl wb = openpyxl.load_workbook(u'E:/exceltest/oldexcel.xlsx') sheetnam ...

  6. python openpyxl 操作excel 插入行,列

    import openpyxl wb = openpyxl.load_workbook("D:\村数据\实验.xlsx") ws = wb["Sheet1"] ...

  7. 包无法安装_详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel

    详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel 注意:下列教程为 Windows7 64位:Windows 10有部分步骤有差异,请参考使用! 01 下载Python程序 ...

  8. Python办公自动化之 openpyxl 操作 Excel

    今天给大家分享一篇用 openpyxl 操作 Excel 的 Python 办公自动化文章.5分钟就能掌握- 各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很 ...

  9. Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法

    Openpyxl 设置 excel 单元格合并.对齐样式和字体 第一章:openpyxl 操作 excel ① 设置单元格合并 ② 设置单元格居中对齐样式 ③ 设置单元格字体样式 第一章:openpy ...

最新文章

  1. 三对角线性方程组的追赶法
  2. Power Shell02 认识powershell
  3. 通俗易懂的sys.argv[]的用法
  4. Spring常见的十八中异常Exception
  5. 野火linux底板设计,野火STM32F767套件(底板+核心板)
  6. java mongodb 使用场景_mongodb使用场景一般是什么?mongodb有哪些基本命令?
  7. AnyTrans使用教程:将照片从 Mac 传输到 iPhone 的方法
  8. HTML,CSS,JavaScript学习笔记--导航
  9. 003之MFCSocket异步编程(指针机制)
  10. linux中ifi_info的英文全称,【DNS服务器IP地址-域名注册查询-CDN加速技术】
  11. 基于vc的freetype字体轮廓解析_才一年,长安又换新LOGO,连带字体也升级了,你喜欢吗?_搜狐汽车...
  12. Ubuntu 上搭建 TFTP 服务器
  13. 12.15 小程序验证码点击刷新
  14. 设计测测试用例的五大方法
  15. css 实现一个尖角_css3如何做尖角标签效果?
  16. springcloud config非对称加密
  17. 基于腾讯云的多人视频会议的在线语音转写功能的实现
  18. 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
  19. 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
  20. WordCount的理解与MapReduce的执行过程

热门文章

  1. postgresql复制标识问题
  2. 401错误 解决方法:响应拦截器
  3. ZooKeeper集群搭建
  4. 字符识别easyocr
  5. Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理
  6. 各家银行跨行转账手续费一览表
  7. uniapp 微信小程序保存图片到系统相册( 获取用户是否开启 授权保存图片到相册。)
  8. 一、Instrument之Core Animation工具
  9. linux mysql 打补丁_一步到位Linux中安装配置MySQL及补坑
  10. 黑马点评项目-达人探店