栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python openpyxl 操作 Excel

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python openpyxl 操作 Excel

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.title
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:
 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266688.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号