python办公自动化骗局-python 让办公变得自动化

openpyxl是Python中用于处理Excel文件的库,能够读取和写入数据。安装openpyxl使用pip,读取数据时通过load_workbook函数,只能处理.xlsx格式的文件。获取工作表和单元格数据,可以使用sheetnames、dimensions等属性。写入数据则通过设置cell.value,使用save方法保存更改。此外,还能创建新工作表、批量写入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openpyxl是什么

openpyxl是一个python第三方库,用于操作excel表格。openpyxl可以对excel进行读取数据或者写入数据,使办公变得自动化!

安装

前面说过openpyxl是一个第三方库,所以我们在使用openpyxl之前要进行一个安装。我们可以用wheel安装法,也可以用zip,但是我建议大家还是用pip,简便一些。

首先我们要打开我们的终端

在终端里输入pip install openpyxl

(下载速度太慢的可以使用豆瓣源pip install openpyxl -i http://pypi.douban.com/simple/)

如果没报错,就说明安装成功了!

读取数据

安装完毕之后,我们就开始尝试读取excel里面的数据,就拿一个叫做报价.xlsx的文件举例子。

WjlLsFSez8.png!large

(请扫码获取文件)

首先,我们要从openpyxl这个库里面导入一个叫做load_workbook的模块,输入这段代码。

from openpyxl import load_workbook

之后我们就能导入我们的excel表格了。不过要注意的是,excel表格文件有两种后缀名,一种是.xlsx,还有一种是.xls。我们在导入的时候我们只能导入.xlsx的excel表格文件。如果你的excel表格文件是.xls结尾的,你可以把后缀名改成.xlsx。不用担心,改了之后你的excel表格不会出现任何问题的。还有的就是load_workbook这个函数不能用于创建excel表格,只能获取到已经创建的表格。

(这里的话我建议还是打开xls文件另存为xlsx文件, xls文件也有xlrd、xlwt两个包能使用,但是这两个包不好用)

workbook = load_workbook('报价.xlsx')#这里请输入你的excel表格文件的路径

在我们这个的报价表格文件里,我们有两张工作表(英文为sheet)。分别叫做Sheet1和Sheet2(当然你可以改名)。我们可以用workbook.sheetnames属性来打印出所有的sheet。

print(workbook.sheetnames)

我们还可以通过workbook[sheet名字]获取表格,然后再通过sheet.dimensions属性获取Sheet1和Sheet2的大小。

for i in workbook.sheetnames:

sheet = workbook[i]#获取每一张sheet工作表

print(sheet.dimensions)#打印出每一张sheet工作表的尺寸

返回结果:

A1:B5

A1:A1

若要获取当前的工作表名字,使用sheet.title方法

print(sheet.title)

如果要获取一个指定格子的数据,我们可以通过cell = sheet[格子],然后cell.value实现。

cell = sheet['A1']

print(cell.value)

这样我们就获取到了A1格子的数据"PS5 2020款”。

如果要获取某一列的所有带有数据的格子,我们可以这么做。

cells = sheet['A']#进入A列

print(cells)

返回结果(元组):

(, , , , )

写入数据

我们完成了如何读取数据,现在就来开始创建一个excel表格文件。

引入我们的openpyxl库。

import openpyxl

如果你已经创建好了一个准备被写入的excel表格文件,请输入一下代码。

wb = openpyxl.load_workbook('文件路径')

如果你想写入数据到一个还没有被创建过的excel文件,请输入一下代码。

wb = openpyxl.Workbook()

我们现在还要获取sheet,如果你是单个sheet,直接这样做就行了。

sheet = wb.active

如果你的excel表格文件有多张工作表,你就需要这样做。

sheet = workbook[指定工作表名称]

以下是在指定格子写入数据的代码。

cell = sheet['格子']#把A1改成你想要的格子

cell.value = '内容'

wb.save(保存的文件名)

当你打开这个excel文件,你就会发现A1格子上你刚刚写入的数据(若这个格子已经有了一段文字,新写入的数据会把它覆盖掉)。

若想要一次性写入多个数据,我们还可以利用sheet.append方法。

data = [['x','x','x'],['x','x','x','x']]

for row in data:

sheet.append(row)

wb.save(保存的文件名)

data是一个带有列表的列表,里面的列表的数据就相当于工作表的每一行,在每一次append之后,sheet就会跳到下一行继续加数据。

如果你想创建一个新的sheet,那你可以使用create_sheet()方法。

下一步

openpyxl的教程就结束了,如果你还想了解更多关于openpyxl的东西,你可以进行百度openpyxl的帖子。或者你还可以去阅读openpyxl的官方教程

本作品采用《CC 协议》,转载必须注明作者和本文链接

coder Derek

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值