OpenPyXl的使用
2019-01-04
OpenPyXl是一个Python的模块 可以用来处理excle表格
安装:
直接 pip install openpyxl
就可以
使用时再代码内 from openpyxl import Workbook
或者from openpyxl import load_workbook
前者 不需要有excle文件存在 后者需要传入一个excle文件
前者可以凭空产生一个 后者不行
openpyxl三步走
-
获取work book
-
获取 work sheet
-
再然后 获取单元格 进行操作
-
保存文件
ps : 获取位置的时候pos可以用pos = 'A'+ int 但是加的那个数字不能是 0 不然会报错
可以自己写一个爬 网站啥的 豆瓣啊 知乎啊 或者网易云的音乐
一、获取工作簿 就是一个excle层面的对象
from openpyxl import Workbook
from openpyxl import load_workbook
wb = Workbook()
wb = load_workbook("temp.xlsx")
- ps:如果不想在文件夹中创建一个excle文件就使用
Workbook
的方式,以上是获取工作簿的两个方法 第一种不需要加载文件 后者需要加载文件,
二、获取当前工作表sheet 当前谢特 也就是当前的翔哥
一个工作簿(workbook)在创建的同时也至少创建了一个工作表(worksheet),可以通过openpyxl.workbook.Workbook.active()的调用得到当前正在运行的工作表,
ws = wb.active
-
注意:该函数调用工作表的索引(_active_sheet_index),默认是0。除非你修改了这个值,否则你使用该函数一直是在对第一张工作表进行操作。
想要获取别的sheet的话可以使用:work_sheet = wb[sheet_name]#直接在work_book后面[ sheet_name ]
如何创建一个sheet
使用openpyxl.workbook.Workbook.create_sheet()
新建一张表,报错的给出指令self._add_sheet(sheet=new_ws, index=index)
,
-
就是说create_sheet可以传入两个参数,第一个就是sheet的名字,第二个 传0 或者不传
ws1 = wb.create_sheet() #默认插在工作簿末尾 # ws2 = wb.create_sheet(0) # 插入在工作簿的第一个位置 # ws2 = wb.create_sheet("YOURSHEET" , 0) #就是在工作簿的最前面创建一个工作表 # ws.title = "New Title"#对某一个ws名字进行赋值
不传参数的话就sheet1、sheet2、sheet3····一直创建下去
sheet标签栏的背景色默认为白色,可以通过提供一个RRGGBB颜色码改变标签栏的字体颜色:
ws.sheet_properties.tabColor = "1072BA"
-
这个sheet名字变白 ,背景色变蓝 假装有个图片
-
一旦知道了sheet的名字就可以通过workbook的key或者该工作表
ws3 = wb["New Title"] ws4 = wb.get_sheet_by_name("New Title")
-
可以通过
openpyxl.workbook.Workbook.get_sheet_names()
方法得到工作簿的所有工作表。print(wb.get_sheet_names()) [u'YOURSHEET', u'Sheet', u'MYSHEET', u'Sheet1', u'Sheet2']
-
你也可以循环得到所有的工作表
for sheet in wb: print(sheet.title)
三、 往下就是操作单元格了
假装这是一个分割线 怎么用?