python调用openpyxl包操作excel文件

  python抓取数据或处理数据库,可以将数据保存到本地文件(xml、excel)或数据库(mysql等)中,本文学习python中操作excel文件的基本用法,后续将从网页中抓取的数据保存到本地excel文件。
  参考文献1中给出了多种python操作excel文件的模块,并推荐使用openpyxl包,在百度上搜索python操作excel文件时,大部分搜索结果中也是使用的openpyxl,本文即基于openpyxl包学习excel文件的基本操作方式。
  openpyxl包可以通过离线和在线方式安装。离线方式的话,请在参考文献4中下载包文件并将其复制到python目录下的Lib\site-packages文件夹中,在线安装的话,在命令行中运行下列命令即可安装。

pip install openpyxl

在这里插入图片描述
  openpyxl提供的类和函数比较强大,本文主要学习以下基本操作:

  • excel文件的新建、打开与保存;
  • 读取、创建工作簿;
  • 读取工作簿中每行及每个单元格值;
  • 插入一行数据。

  excel文件的新建、打开与保存。调用openpyxl中的load_workbook函数打开excel文件,该函数支持多个参数,一般用的时候只需传入文件路径即可,函数返回Workbook对象。如果要新建文件,则直接调用wb = Workbook()。保存excel文件的话,需要调用Workbook对象的save函数并传入保存文件路径。
在这里插入图片描述
在这里插入图片描述
  读取、创建工作簿。Workbook对象的worksheets保存excel文件中的所有工作簿,其中worksheets的active属性保存当前的工作簿。创建工作簿可以调用Workbook对象的create_sheet函数。下面代码能打开excel文件并打印所有工作簿的名称,excel文件及代码执行结果见下图。

# coding=gbk

from openpyxl import load_workbook

path = r"E:\books\翻译库\常见词语翻译.xlsx"
wb = load_workbook(path)

for sheet in wb.worksheets:
     print(sheet.title)

abActive=wb.active
print('active sheet:'+abActive.title)

在这里插入图片描述

  读取工作簿中每行及每个单元格值。这个主要参照参考文献3和2,就直接上代码和执行结果。

# coding=gbk

from openpyxl import load_workbook

path = r"E:\books\翻译库\常见词语翻译.xlsx"
wb = load_workbook(path)

for sheet in wb.worksheets:
     print('===============>')
     print('worksheet:'+sheet.title)
     for row in sheet.iter_rows():
          for cell in row:
               print(cell.coordinate, cell.value)

在这里插入图片描述

  插入一行数据。主要操作步骤包括:打开excel文件->获取指定工作簿->追加一行数据->保存文件。主要代码及执行结果如下所示。

# coding=gbk

from openpyxl import load_workbook

path = r"E:\books\翻译库\常见词语翻译.xlsx"
wb = load_workbook(path)
sheet=wb['T']
sheet.append(['node','点'])
wb.save(path)

在这里插入图片描述
  调用openpyxl可以很方便的操作excel文件,同时openpyxl还支持设置样式、插入图表等高级操作,有兴趣的可以查看参考文献2中的详细介绍。

参考文献
[1]https://www.python-excel.org/
[2]https://openpyxl.readthedocs.io/en/stable/
[3]https://blog.csdn.net/guoqingru0311/article/details/124046741
[4]https://foss.heptapod.net/openpyxl/openpyxl

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值