网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
列(column): A,B,C,D………张工作表最多有256列
-
单元格(cell): B1, C1
============================================================================
#!/usr/bin/env python
-- coding: utf-8 --
import openpyxl
import openpyxl
‘’’
一个Workbook对象代表一个Excel文档,因此在操作Excel之前,都应该先创建一个Workbook对象。
对于创建一个新的Excel文档,直接进行Workbook类的调用即可,
对于一个已经存在的Excel文档,可以使用openpyxl模块load_workbook函数进行读取,该函数包涵多个参数,但只有filename参数为必传参数。filename 是一个文件名,也可以是一个打开的文件对象。
‘’’
1.调用openpyxl.load_workbook()函数或openpyxl.Workbook(新工作簿的名字),取得Workbook对象。
wb = openpyxl.load_workbook(r’test.xlsx’) #wb的类型:<class ‘openpyxl.workbook.workbook.Workbook’>
print(wb, type(wb))
获取当前工作薄里所有的工作表
print(wb.sheetnames)
#获取当前工作簿里正在使用的工作表
print(wb.active)
#获取excel的字符集编码
print(wb.encoding)
获取文档的元数据,如标题,创建者,创建日期等
print(wb.properties)
2.创建一个Sheet对象,默认加到最后 同一个工作簿里的工作表下标从0开始
mySheet = wb.create_sheet(index=3, title=“Mysheet”)
重新设置创建的这个Sheet工作表的标题
mySheet.title = “test”
设置Sheet标签的颜色
mySheet.sheet_properties.tabColor = “205EB2”
#再添加一个Sheet工作表,下面测试删除
test_sheet=wb.create_sheet(index=4,title=“test_sheet”)
3. 选择要操作的工作表, 返回工作表对象
sheet = wb[‘Sheet1’]
获取工作表的名称
print(sheet.title)
4. 返回指定行指定列的单元格信息以及赋值操作 row:单元格所在行;column:单元格所在的列;value:单元格的值;coordinate:单元格的坐标
第一种方法:
print(sheet.cell(row=5, column=2).value)
第二种方法:
cell = sheet[‘B6’] #如果不存在,就会自动创建一个
print(cell)
print(cell.row, cell.column, cell.value,cell.coordinate)
#赋值操作:
sheet[‘B7’]=“帅哥” #直接赋值
拓展:访问多个cell
#(1)通过切片Ranges指定许多cells
cell_range = sheet[‘A1’:‘C2’]
#(2).iter_rows() 方法:(需要指定行->行,截止行); .iter_cols() 方法:(需要指定列->列,截止列)
for row in sheet.iter_rows(min_row=1, max_col=3, max_row=2):
for cell in row:
print(cell.value)
5 获取工作表中的一些信息
print(sheet.max_column) #min_column对应表格的最小列
print(sheet.max_row) #min_row对应表格的最小行
print(sheet.rows) #按行获取单元格(Cell对象) - 生成器
print(sheet.columns) #按列获取单元格(Cell对象) - 生成器
print(sheet.values) #按行获取表格的内容(数据) - 生成器
小拓展:
from openpyxl.utils import get_column_letter, column_index_from_string
print(get_column_letter(2)) #根据列的数字返回字母
print(column_index_from_string(‘D’)) #根据字母返回列的数字
删除工作表:
方式一
wb.remove(test_sheet)
方式二
del wb[sheet]
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!