python openpyxl模块安装_python之openpyxl模块

本文详细介绍了Python的openpyxl模块,用于处理Excel2007及更高版本的xlsx文件。内容包括安装步骤、Workbook和Worksheet对象的使用、单元格操作以及基本的读写操作。通过示例展示了如何创建、读取、修改Excel文件,并提供了openpyxl的常用属性和方法。
摘要由CSDN通过智能技术生成

一 . Python操作EXCEL库的简介

1.1 Python官方库操作excel

Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库复制和修改Excel文件,这三个库只支持到Excel2003。

1.2 第三方库openpyxl介绍

第三方库openpyxl(可读写excel表),专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易。 注意:如果文字编码是“gb2312” 读取后就会显示乱码,请先转成Unicode

本文将详细介绍第三方库openpyxl的基本用法

第三方库openpyxl的安装:

<1>下载路径:https://pypi.python.org/pypi/openpyxl

<2>解压到指定文件目录:tar -xzvf openpyxl.tar.gz

<3>进入目录,找到setup.py文件,执行命令:python3 setup.py install 如果报错No module named setuptools 就使用命令“easy_install openpyxl”,easy_install for win32,会自动安装setuptools; 或者直接用cmd命令:pip3 install openpyxl安装

二.openpyxl库基本操作总结

2.1 openpyxl 的基本操作

openpyxl中有三个不同层次的类,Workbook是对工作簿的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象,每一个类都包含了许多属性和方法。

(1)Excel基本操作

操作Excel的一般场景:

a)打开或者创建一个Excel需要创建一个Workbook对象

b)获取一个表则需要先创建一个Workbook对象,然后使用该对象的方法来得到一个Worksheet对象

c)如果要获取表中的数据,那么得到Worksheet对象以后再从中获取代表单元格的Cell对象

(2)Workbook对象知识点总结

一个Workbook对象代表一个Excel文档,因此在操作Excel之前,都应该先创建一个Workbook对象。对于创建一个新的Excel文档,直接进行Workbook类的调用即可,对于一个已经存在的Excel文档,可以使用openpyxl模块的load_workbook函数进行读取,该函数包含多个参数,但只有filename参数为必传参数。filename 是一个文件名,也可以是一个打开的文件对象。

创建workbook对象:

import openpyxl

>>> wb = openpyxl.Workbook(‘hello.xlxs‘)

>>> wb = openpyxl.load_workbook(‘file_name.xlxs‘)

注意:Workbook和load_workbook相同,返回的都是一个Workbook对象。

Workbook对象提供了很多属性和方法,其中,大部分方法都与sheet有关,其所有属性和方法如下:

['_sheets', '_pivots', '_active_sheet_index', 'defined_names', '_external_links', 'properties', 'security', '_Workbook__write_only', 'shared_strings', '_fonts', '_alignments', '_borders', '_fills', '_number_formats', '_protections', '_colors', '_cell_styles', '_named_styles', '_table_styles', 'loaded_theme', 'vba_archive', 'is_template', '_differential_styles', 'code_name', 'epoch', 'encoding', 'iso_dates', 'rels', 'calculation', 'views', '_data_only', '_read_only', '_keep_links', 'guess_types', 'template', '__module__', '__doc__', 'path', '__init__', '_setup_styles', 'read_only', 'data_only', 'write_only', 'keep_links', 'get_active_sheet', 'excel_base_date', 'active', 'create_sheet', '_add_sheet', 'remove', 'remove_sheet', 'create_chartsheet', 'get_sheet_by_name', '__contains__', 'index', 'get_index', '__getitem__', '__delitem__', '__iter__', 'get_sheet_names', 'worksheets', 'chartsheets', 'sheetnames', 'create_named_range', 'add_named_style', 'named_styles', 'get_named_ranges', 'add_named_range', 'get_named_range', 'remove_named_range', 'mime_type', 'save', 'style_names', 'copy_worksheet', 'close', '__dict__', '__weakref__', '__repr__', '__hash__', '__str__', '__getattribute__', '__setattr__', '__delattr__', '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__new__', '__reduce_ex__', '__reduce__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__']

Workbook提供的部分常用属性如下:

active:获取当前活跃的Worksheet

worksheets:以列表的形式返回所有的Worksheet(表格)

read_only:判断是否以read_only模式打开Excel文档

write_only:判断是否以write_only模式打开Excel文档

encoding:获取文档的字符集编码

properties:获取文档的元数据,如标题,创建者,创建日期等

sheetnames:获取工作簿中的表(列表)

ContractedBlock.gif

ExpandedBlockStart.gif

#常用属性练习

workbook_path= os.path.join(CONFIG_PATH,'testdata.xlsx')

wb=openpyxl.load_workbook(workbook_path)

ws=wb.activeprint(ws)#

ws_list=wb.worksheetsprint(ws_list)#[, , ]

print(wb.read_only) #False

print(wb.encoding)#utf-8

print(wb.write_only)#False

print(wb.sheetnames)#['Sheet1', 'Sheet2', 'Sheet3']

print(wb.properties)#

#Parameters:

#creator='openpyxl', title=None, description=None, subject=None, identifier=None, language=None, created=datetime.datetime(2018, 8, 18, 2, 14, 50),

#modified=datetime.datetime(2018, 8, 18, 5, 12, 7), lastModifiedBy='wuxiaoli', category=None, contentStatus=None, version=None, revision=None,

#keywords=None, lastPrinted=None

View Code

Workbook提供的部分常用方法如下:

get_sheet_names:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)

get_sheet_by_name:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名‘]获取)

get_active_sheet:获取活跃的表格(新版建议通过active属性获取)

remove_sheet:删除一个表格

create_sheet:创建一个空的表格

copy_worksheet:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值