[Python3]读写Excel - openpyxl库

什么是openpyxl

openpyxl是一个第三方的pythonexcel读写库,支持Excel2010 xlsx/xlsm/xltx/xltm文件格式。

openpyxl提供哪些能力?

  • excel的基本读写能力
  • 与pandas和numpy无缝链接能力
  • excel里图表管理
  • excel单元格注释管理

在本节我们主要分享什么?

主要分享openpyxl的excel读写功能。提供常用的代码实例。

对于图表、注释管理、pandas和numpy综合使用不在本节内容讲解范围内,有兴趣的朋友可以自己去研究。

如何安装openpyxl

使用以下命令安装openpyxl库

pip install openpyxl

导入openpyxl模块

要使用openpyxl对excel进行读写,需要导入其中的Workbook类,方法如下:

from oepnpyxl import Workbook

一个简单的示例

我们先一个简单的示例,如何是使用openpyxl写excel。

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

from openpyxl import Workbook

if __name__ == "__main__":
    print("写excel简单示例")    

    # 创建一个excel工作区
    wb = Workbook()    

    # 激活当前工作簿
    ws = wb.active    

    # 往单元格A1写入数据, 其他单元格写入类似
    ws[‘A1‘] = "博客园谷白"

    # 写下一行数据,列表元素对应每一个单元格
    ws.append([1, 2, 3])    

    # 写入时间类型到excel, python会自动将类型转换成excel的日期时间类型
    import datetime
    ws[‘A2‘] = datetime.datetime.now()    

    # 保存为excel文件
    wb.save("简单excel写示例.xlsx")

读取已存在的excel文件

下面就上面示例生成的“简单excel写示例.xlsx”文件,进行读取,并将内容输出值console。

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

from openpyxl import load_workbook

if __name__ == "__main__":    

    print("读取已存在的excel文件")

    wb = load_workbook("简单excel写示例.xlsx")    

    # 获取所有sheet名, 返回的是list类型
    sheets = wb.get_sheet_names()
    print(type(sheets))    

    # 遍历sheets,并读取其单元格内容打印输出
    for sh in sheets:
        print("读取工作簿名称: ", sh)    

    # 获取要读取的sheet
    ws = wb.get_sheet_by_name(sheets[0])    

    # 读取Sheet A1 , A2, B2, C2单元格内容

    # 读取A1单元格的值
    A1 = ws[‘A1‘].value
    print("A1单元格的值: ", A1)    

    # 读取A2, B2, C2
    for index in (‘A2‘, ‘B2‘, ‘C2‘):
        print(index, "单元格的值: ", ws[index].value)    

    # 读取空值的单元格, openpyxl对于空值的单元格,返回None
    F1 = ws[‘F1‘].value
    print("F1单元格的值: ", F1)

高级示例

下面就使用urllib从网络爬取数据,写入excel进行示例演示,从豆瓣网爬取部分书籍数据,写入excel。

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

import urllib.request
from openpyxl import Workbook

if __name__ == "__main__":
    print("爬取豆瓣网书籍数据写入excel示例")    

    # 通过豆瓣网搜索API,搜索python关键词,采集书籍数据
    # 本示例只采集第一页的数据
    url = "https://api.douban.com/v2/book/search?q=python"
    response = urllib.request.urlopen(url)    

    # 将bytes数据流解码成string
    ebook_str = response.read().decode()    

    # 将string转换成dict
    ebook_dict = eval(ebook_str)    

    # 构建一个Workbook对象
    wb = Workbook()    # 激活第一个sheet
    ws = wb.active    # 写入表头
    ws.append(["书名", "作者", "描述", "出版社", "价格"])    

    # 写入书信息
    for book in ebook_dict["books"]:
        ws.append([book["title"],
            ",".join(book["author"]),
            book["summary"],
            book["publisher"],
            book["price"]])    

    # 保存
    wb.save("ebook.xlsx")

打开ebook.xlsx查看爬取结果如下:

时间: 2024-10-03 22:40:04

[Python3]读写Excel - openpyxl库的相关文章

python3操作Excel openpyxl模块的使用

python 与excel 安装模块 本例子中使用的模块为: openpyxl 版本为2.4.8 安装方法请参看以前发表的文章(Python 的pip模块安装方法) Python处理Excel表格 使用模块:openpyxl(2.4.8) 基本使用方法 1.首先导入模块:import openpyxl 2.打开一个已经存在的excel文件: wb=openpyxl.load_workbook('example.xlsx') (文件和脚本放在同一个目录下,如果不是的话需要加上路径 wb=wpenp

Python3.4如何读写Excel

在python3.x(散仙使用的版本是python3.4)里,我们应该如何操作excel. 首先在python3.4里,我们可以使用新的python类库,来支持3.x之后的读写excel 针对 03版excel(xls结尾的),我们可以使用xlrd读,xlwt包来写 针对 07版excel(xlsx结尾的),我们可以使用openpyxl来操作读写excel xlwt的下载地址https://pypi.python.org/pypi/xlwt3 xlrd的下载地址https://pypi.pyth

python用openpyxl读写Excel

openpyxl是一个用于读写Excel 2010 xlsx文件的python库.openpyxl官方文档:https://openpyxl.readthedocs.io/en/stable/ 一.安装包 pip3 install openpyxl 二.创建Excel,写入数据 from openpyxl import Workbook #创建Workbook,并默认会创建一个空表,名称为:Sheet wb = Workbook() #获取默认的sheet ws1 = wb.active #设置

openpyxl库实现对excel文档进行编辑(追加写入)

首先,这个库只支持xlsx格式的excel文件 预期,对”excel_test.xlsx“的A1单元格写入”hello word“ 1.安装”openpyxl“库,pip install openpyxl 2.导入openpyxl库 import openpyxl 3.读取excel文件 xfile = openpyxl.load_workbook(path+'\\excel_test.xlsx') 4.获取需要写入的”Sheet“名称,案例里的sheet名为”Sheet1“ sheet = x

C# 使用 NPOI 库读写 Excel 文件(转载)

时间:2014-08-04 13:43:57                         阅读:3411                         评论:0                         收藏:0                         [点我收藏+] NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼 容xls 和 xlsx.官网提供了一份Examples,给出了很多应用场

C# 中 NPOI 库读写 Excel 文件的方法【摘】

原作:淡水网志 NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx.官网提供了一份 Examples,给出了很多应用场景的例子,打包好的二进制文件类库,也仅有几MB,使用非常方便. 读Excel NPOI使用HSSFWorkbook类来处理xls,XSSFWorkbook类来处理xlsx,它们都继承接口IWorkbook,因此可以通过IWorkbook来统一处理xls和xlsx格式的文件

Python3.x:第三方库简介

Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环境的工具. virtualenvwrapper- virtualenv 的一组扩展. 包管理 管理包和依赖的工具. pip – Python 包和依赖关系管理工具. pip-tools – 保证 Python 包依赖

python里读写excel等数据文件的几种常用方式

python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python内置方法(read.readline.readlines) read() : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline() :每次读取一行内容.内存不够时使用,一般不太用 readlines() :一次性读取整个文件内容,并按行返回到lis

Python用Pandas读写Excel

Pandas是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. Pandas提供了大量能使我们快速便捷地处理数据的函数和方法. Pandas官方文档:pandas.pydata.org/pandas-docs… Pandas中文文档:www.pypandas.cn 一.安装包 pandas处理Excel需要xlrd.openpyxl依赖包 pip3 install pandas pip3 install xlrd pip3 install o