赞
踩
首先导入openpyxl库
# 安装库 : python -m pip install openpyxl
import openpyxl as vb
# 导入了openpyxl库并且给他进行了一个重命名,为vb
1.创建工作簿
工作簿 = vb.Workbook('文件名称.xlsx')
工作簿.sava(路径)
2.打开工作簿
工作簿 = vb.load_workbook('文件名称.xlsx')
工作表 = 工作簿[表名]
3.属性和作用
active 获取当前活跃的Worksheet
worksheets 以列表的形式返回所有的Worksheet(表格)
read_only 判断是否以read_only模式打开Excel文档
encoding 获取文档的字符集编码
properties 获取文档的元数据,如标题,创建者,创建日期等
sheetnames 获取工作簿中的表(列表)
4.方法和作用
工作簿.sheetnames 获取所有表格名称
工作簿['工作表名'] 通过表格名称获取Workbook对象
工作簿.active 获取活跃的表格
remove 删除一个工作表对象
create_sheet 创建一个空的表格
copy_worksheet 在Workbook内拷贝表格
5.工作表
title 获取工作表名称
新建excel 并 保存工作表 且 打开工作表
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/自学.xlsx' # 保存的路径 r把他变成原始字符串
- # 创建一个excel文件
- 工作簿 = vb.Workbook(路径) # 创建一个excel文件
- 工作簿.save(路径) # 保存的位置
- # 打开工作簿
- 工作簿1 = vb.load_workbook(路径) # 打开工作簿
- 工作表 = 工作簿1.active # active 激活第一个工作表
- # 工作簿1['Sheet'] # 打开工作表
- print(工作表)
显示所有工作表和删除表单
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/自学.xlsx'
- 路径1 = r'E:/自学1.xlsx'
- 工作簿 = vb.load_workbook(路径) # 打开工作簿
- 显示所有工作表 = 工作簿.worksheets # 显示所有工作表
- # for i in 显示所有工作表: # 遍历excel里面所有表
- # print(i.title) # title 获取工作表名称
- 工作表 = 工作簿['3月'] # 获取工作簿的表名
- 工作簿.remove(工作表) # 删除表单
- 工作簿.save(路径1) # 保存路径
新建工作表:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/自学.xlsx'
- 工作簿 = vb.load_workbook(路径) # 打开工作簿
- 工作簿.create_sheet('4月') # 新建一个工作表
- 工作簿.save(路径)
复制表:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/自学.xlsx'
- 工作簿 = vb.load_workbook(路径) # 打开excel表
- 复制表 = 工作簿.copy_worksheet(工作簿['4月']) # 复制表
- 复制表.title = '我是刚复制的表'
- 工作簿.save(路径)
创建工作表:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.Workbook(路径)
- for i in range(1,32):
- 工作簿.create_sheet('7月' + str(i) + '日')
- 工作簿.save(路径)
修改工作表名:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径) # 打开工作表
- 显示所有工作表 = 工作簿.worksheets # 工作表里面sheet行
- for i in 显示所有工作表: # 进行循环
- i.title = '北京' + '-' + i.title # 将所有工作表名加上北京
- 工作簿.save(路径)
删除不需要的内容:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 显示所有工作表 = 工作簿.worksheets
- for i in 显示所有工作表: # 进行for循环
- if i.title.split('-')[0] != '上海': # 如果i里面的内容不等于上海就删除
- 工作表 = 工作簿[i.title]# 将里面的内容导出给工作表
- 工作簿.remove(工作表) # 删除工作表里面的内容然后给工作簿
- 工作簿.save(路径)
批量复制表:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- for i in range(1,32):
- 复制表 = 工作簿.copy_worksheet(工作簿['模板']) # 赋值模板
- 复制表.title = '7月' + str(i) + '日' # 给模板命名
- 工作簿.remove(工作簿['模板']) # 删除工作簿模板
- 工作簿.save(路径)
查看单元格:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1'] # 读取工作表名
- 单元格 = 工作表['C1'].value # 读取 单元格中的内容
- #单元格 = 工作表.cell(row=1,column=1).value
- print(单元格)
- # ---- 打印内容
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- for i in range(1,10,2):
- print(i, 工作表.cell(row=i,column=2).value) # 打印行内的值
遍历单元格区域: value 属于打印除单元格里的内容 values 批量输出
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 单元格区域 = 工作表['A1:C10'] # 拿到 的区域是A1到C10
- for i in 单元格区域:
- for u in i:
- print(u.value) # value 是打印出内容
- # 输出所有
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- a = list(工作表.values) # 把工作表里面所有的内容以列表形式输出
- print(a)
范围遍历所有:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 范围 = 工作表.iter_rows(1,10,1,3) # 按照列获取
- for i in 范围:
- for u in i :
- print(u.value)
行列拿取:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- for 行 in 工作表.rows: # columns 按照列拿取 rows行拿取
- for 单元格 in 行:
- print(单元格.value)
数字转字母:
- 数字转字母 = vb.utils.get_column_letter(26)
- print(数字转字母)
- 字母转数字 = vb.utils.column_index_from_string('z')
- print(字母转数字)
动态读取数据:
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 最大行 = 工作表.max_row # max_row 最大行
- 最大列 = 工作表.max_column # max_column 最大列
- 列表 = []
- for i in 工作表['C']:
- 列表.append(i.value)
- print(sum(列表))
- for 行 in 工作表.rows:
- for 单元格 in 行:
- 列表.append(单元格.value)
- print(列表)
工作表写入内容:和插入内容 --- delete删除
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 工作表['E2'] = 'sun' # 在工作表格E2里面写入内容
- 工作簿.save(路径)
- # 添加内容
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 工作表['E2'] = 'sun' # 在工作表格E2里面写入内容
- 列表 = ['小张','99','11','22','33'] # 创建了一个列表
- 工作表.append(列表) # 把列表里面的元素添加进工作表的末尾
- # 添加进去的元素属于字符串类型
- 工作簿.save(路径)
-
- # 插入内容
- import openpyxl as vb # 导入openpyxl库自命名vb
- 路径 = r'E:/测试.xlsx' # 保存的路径 r把他变成原始字符串
- 工作簿 = vb.load_workbook(路径)
- 工作表 = 工作簿['Sheet1']
- 工作表.insert_cols(idx=2,amount=5) # 插入列
- 工作簿.save(路径)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。