openpyxl 模块的使用

摘要:
utm_source=itdadao&utm_Medium=referral在使用openpyxl模块之前,您需要了解openpyx中名称的概念:在openpyxl中,主要使用三个概念:Workbook、Sheets和CellsWorkbook:指excel工作表;工作表:指工作表中的工作表;单元格:指表格中的单元格。openpyx读取或写入的顺序是:打开工作簿,找到工作表,然后操作Cellopenpy。常用的方法是使用office创建xlsx文件。如果你继续使用它,你将被警告#sheet=wb。get_sheet_by_Name读取指定的表。注意,尚未使用get_sheet_by_thename()方法。

参考博客:https://www.cnblogs.com/anpengapple/p/6399304.html?utm_source=itdadao&utm_medium=referral 

在使用openpyxl模块前,需要了解openpyx中名称的概念:

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells

Workbook:指一个excel工作表;

Sheet:指工作表中的一张表;
Cell:指表中的一个单元格。

openpyx在读或写时顺序为:打开Workbook,定位Sheet,操作Cell

openpy常用方法 

使用office新建一个xlsx文件。(注意,不要使用Pycharm工具新建,避免出现错误。zipfile.BadZipFile: File is not a zip file )

xlsx文件名为:网站新增用户.xlsx

内容如下:

openpyxl 模块的使用第1张

 一、读取xlsx

from openpyxl import load_workbook  #首先导入库

wb=load_workbook("网站新增用户.xlsx") #打开xlsx文件
print(wb.sheetnames)                #sheetnames是获取工作表中的所有表的表名,即可查看该xlsx文件里面所有表 
sheetname=wb.sheetnames[0] #获取工作表中的第一张表的表名。注意:get_sheet_names()方法已经停止使用了。继续使用会进行警告。

  openpyxl 模块的使用第2张

 
#sheet = wb.get_sheet_by_name("表一")   读取到指定的Sheet(表),注意get_sheet_by_name()方法已经未使用。通过['表名']直接读取指定的sheet(表)
sheet=wb["表一"] #读取指定的sheet(表)
'''
获取指定的sheet表也可以写成下列方式:
sheetname=wb.sheetnames[0] 获取工作表中第一张表的表名
sheet=we[sheetname]
'''
注意:get_sheet_by_name()方法已经未使用了,继续使用会出现警告:DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
openpyxl 模块的使用第3张
 
 
读取到指定的Sheet(表),sheet就变得神奇了,想要的内容都在这里。比如:    
print("A列:",sheet["A"])                     #读取A列
print("1行:",sheet["1"])                     #读取第1行
print("C4格的值:",sheet["C4"].value)         #读取C4格的值
#最大/最小行列数获取的是表中的数据区域
print("最大行数为:",sheet.max_row)           #最大行数
print("最大列数为::",sheet.max_column)      #最大列数
print("最小行数为:",sheet.min_row)           #最小行数
print("最小列数为:",sheet.min_column)        #最大列数
print("第一行第一列的单元格值为:",sheet.cell(row=1,column=1).value)          #获取第一行第一列单元格的值
print("
")
print("表中C列中所有值为:")
for i in sheet["C"]:
	print(i.value, end=" ")              # 读取C列中的所有值

print("
")

print("表中2行中所有值为:")
for j in sheet["2"]:

 openpyxl 模块的使用第4张

二、写入xslx

from openpyxl import workbook    #导入库

wb=workbook.Workbook()          #创建一个新工作表
sheet=wb.active                 #找到活动的sheet页
sheet.title='new sheet'         #空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值
'''
这个属性是可读可写的。当然,这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。
往sheet页里面写内容就比较简单了,跟读一样.
'''
sheet['C3'] = 'Hello world!'

for i in range(10):
  sheet["A%d" % (i+1)].value = i + 1
  
sheet["E1"].value = "=SUM(A:A)"   #我们还可以进行花式操作,比如写写公式:

wb.save('保存一个新的excel.xlsx')  #最后记得保存

  执行结果:

openpyxl 模块的使用第5张

注意:上面的写入操作是新建一个工作表,针对于已有的工作表进行写入:

from openpyxl import load_workbook

fp=load_workbook("保存一个新的excel.xlsx")

sheet=fp["new sheet"]
sheet['c1']='新写入的内容'

fp.save("保存一个新的excel.xlsx")

  openpyxl 模块的使用第6张

针对于已有的工作表进行写入,需注意以下几点:

1、在写入完成后,还是需要通过save方法进行保存,sheetname还是使用该文件名,会自动进行覆盖。

2、需写入的表,再打开的状态下是不能成功执行代码的,会报错:PermissionError: [Errno 13] Permission denied 

其实这里还是有点小问题的,就是当我先用load_workbook读取一个excel,修改之后save成原来的文件,会报错:PermissionError: [Errno 13] Permission denied

 

免责声明:文章转载自《openpyxl 模块的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OO系统分析员之路用例分析系列(8)如何编写一份完整的UML需求规格说明书[整理重发]thymeleaf参考手册下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用 Pandas 的 to_excel() 方法来将多个 csv 文件合并到一个 xlsx 的不同 sheets 内

这几天在用 Python3 研究一个爬虫,最后一个需求是把爬下来的20+个csv文件整合到一个excel表里的不同sheets。 初版的核心代码如下: 1 while year <= 2018: 2 csvPath = sys.path[0] + '/result/%d.csv' %year 3 excelPath = sys.pa...

python操作excel以及word文档,pdf文档

1.读excel import xlrd # 打开excel data = xlrd.open_workbook("Gitee.xlsx") table = data.sheet_by_name("程序开发") # # 选择的表单页 # print(table.nrows) # 多少行 # print(table.ncols) # 多少列...

openpyxl 学习笔记

一、简介 openpyxl 是一个用于处理 xlsx 格式Excel表格文件的第三方python库,其支持Excel表格绝大多数基本操作。  安装方法 pip/pip3 install openpyxl 二、Excel表格术语 列  column,以大写字母表示,如A,B 行 row,以数字表示,从1开始 格式(方块) cell 工作表 s...

python(openpyxl)复制excel数据到另一个excel数据表

之前写过https://www.cnblogs.com/pu369/p/15430224.html 代码: #-*- coding: utf-8 -*- fromopenpyxl import Workbook fromopenpyxl import load_workbook import openpyxl #globalitems =[] file1...

python 操作openpyxl导出Excel 设置单元格格式以及合并处理

贴上一个例子,里面设计很多用法,根据将相同日期的某些行合并处理。 from openpyxl importWorkbook...

python操作Excel模块openpyxl

1、 安装 pip install openpyxl 想要在文件中插入图片文件,需要安装pillow,安装文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字体类):字号、字体颜色、下划线等 · fill(填充类):颜色等 · border(边框类):设置单元格边框 · alignment(位置类):对齐方式 · ...