一、Openpyxl简介
在使用Python的日常,尤其在做网络爬虫时,需要将爬取到的数据存入到本地计算机中为以后的数据分析做准备。
Openpyxl是一个开源项目,用户只需要在python安装该类库就可以直接使用,可以对Excel2010 xlsx/xlsm/xltx/xltm文件进行读写操作。
二、Openpyxl安装和使用流程
安装Openpyxl很简单,只需要通过pip或conda命令安装即可。
pip install openpyxl或者使用condaconda install openpyxl
安装完成openpyxl后,具体的使用流程如下:
导入openpyxl模块
调用load_workbook()或Workbook()函数,取得Workbook对象
调用get_activate_sheet()或get_sheet_by_name()函数,取得Wroksheet工作簿对象
使用单元格索引或者cell()方法,获取读写单元格对象。
使用save()函数包含数据到指定路径。
三 、Openpyxl使用举例
from openpyxl import Workbookwb = Workbook()# grab the active worksheetws = wb.active# Data can be assigned directly to cellsws['A1'] = 42# Rows can also be appendedws.append([1, 2, 3])# Python types will automatically be convertedimport datetimews['A2'] = datetime.datetime.now()# Save the filewb.save("sample.xlsx")
程序运行结果:
from openpyxl import Workbookwb = Workbook() #声明一上Workbook对象mysheet = wb.create_sheet('mysheet') #创建一上工作表名为mysheetcol=('姓名','年龄','电话') #列名称mysheet.append(col)mysheet.append(['刘天乐',20,'13302324324'])mysheet.append(['张三',18,'18088324324'])mysheet.cell(row=5,column=6,value='aaaaaaa') #指定第5行第6列单元格的值wb.save(r'./ab.xlsx') #保存在当前路径下名为ab.xlsx
读取Excel表中的数据
from openpyxl import load_workbookwb = load_workbook(filename = 'empty_book.xlsx')sheet_ranges = wb['range names']print(sheet_ranges['D18'].value)
输出结果: 3
在一个工作表中插入一幅图片
from openpyxl import Workbookfrom openpyxl.drawing.image import Imagewb = Workbook()ws = wb.activews['A1'] = 'You should see three logos below'img = Image('star.jpg')ws.add_image(img, 'A1')wb.save('logo.xlsx')
当运行时有可能会报一个错误
这时因为缺省了读取图片的库文件,因此需要安装该库文件
pip install pillow
openpyxl还有很多操作excel的功能,如果大家有需要可以参考官方文档。
https://openpyxl.readthedocs.io/en/stable/