Python办公软件自动化,5分钟掌握openpyxl操作
今天给大家分享一篇用openpyxl操作Excel的文章。
各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很多库,openpyxl算是其中功能和性能做的比较好的一个。接下来我将为大家介绍各种Excel操作。
打开Excel文件
新建一个Excel文件
打开现有Excel文件
打开大文件时,根据需求使用只读或只写模式减少内存消耗。
获取、创建工作表
获取当前活动工作表:
创建新的工作表:
使用工作表名字获取工作表:
获取所有的工作表名称:
保存
保存到流中在网络中使用:
单元格
单元格位置作为工作表的键直接读取:
![de68c301d9e7baa10fe02740eaeaf92e.png](https://www.imgeek.org/uploads/article/20220729/de68c301d9e7baa10fe02740eaeaf92e.png)
为单元格赋值:
![b9f52edb8308ab0d5335858a8fd1995e.png](https://www.imgeek.org/uploads/article/20220729/b9f52edb8308ab0d5335858a8fd1995e.png)
多个单元格 可以使用切片访问单元格区域:
![551186dca72791c793d4e96419bd915c.png](https://www.imgeek.org/uploads/article/20220729/551186dca72791c793d4e96419bd915c.png)
使用数值格式:
![95cbc9d6985b58c69dd81981476eb630.png](https://www.imgeek.org/uploads/article/20220729/95cbc9d6985b58c69dd81981476eb630.png)
使用公式:
![b25c0e35538d219c4483cb5e035c5d0d.png](https://www.imgeek.org/uploads/article/20220729/b25c0e35538d219c4483cb5e035c5d0d.png)
合并单元格时,除左上角单元格外,所有单元格都将从工作表中删除:
![927d7e04a8c2ebb05a29a64adba16fa7.png](https://www.imgeek.org/uploads/article/20220729/927d7e04a8c2ebb05a29a64adba16fa7.png)
行、列
可以单独指定行、列、或者行列的范围:
![29fb5f4a6527b3c497da9c7016762a9b.png](https://www.imgeek.org/uploads/article/20220729/29fb5f4a6527b3c497da9c7016762a9b.png)
可以使用
Worksheet.iter_rows()
方法遍历行:![993244377ee2b14ea63de42b5571524e.png](https://www.imgeek.org/uploads/article/20220729/993244377ee2b14ea63de42b5571524e.png)
同样的
Worksheet.iter_cols()
方法将遍历列:![04b7e9cbf6b73859d5c8d8e4443d23bc.png](https://www.imgeek.org/uploads/article/20220729/04b7e9cbf6b73859d5c8d8e4443d23bc.png)
遍历文件的所有行或列,可以使用
Worksheet.rows
属性:![83ca41e37a63393af25ce9b33665bb99.png](https://www.imgeek.org/uploads/article/20220729/83ca41e37a63393af25ce9b33665bb99.png)
或
Worksheet.columns
属性:![b546e92423aa8a6c73f7b5945c22f3f8.png](https://www.imgeek.org/uploads/article/20220729/b546e92423aa8a6c73f7b5945c22f3f8.png)
使用
Worksheet.append()
或者迭代使用Worksheet.cell()
新增一行数据:![857ba1673ef97c4a7d63af6400ae56b9.png](https://www.imgeek.org/uploads/article/20220729/857ba1673ef97c4a7d63af6400ae56b9.png)
插入操作比较麻烦。可以使用
Worksheet.insert_rows()
插入一行或几行:![7c7c32420a7145db92cc5d96aabf2688.png](https://www.imgeek.org/uploads/article/20220729/7c7c32420a7145db92cc5d96aabf2688.png)
Worksheet.insert_cols()
操作类似。Worksheet.delete_rows()
和Worksheet.delete_cols()
用来批量删除行和列。只读取值
使用
Worksheet.values
属性遍历工作表中的所有行,但只返回单元格值:![07dfed8a280756c6af5e2dc54fdede33.png](https://www.imgeek.org/uploads/article/20220729/07dfed8a280756c6af5e2dc54fdede33.png)
Worksheet.iter_rows()
和Worksheet.iter_cols()
可以设置values_only
参数来仅返回单元格的值:![1d9990117d1c231156cc9bc6f96e3249.png](https://www.imgeek.org/uploads/article/20220729/1d9990117d1c231156cc9bc6f96e3249.png)
作者:Sinchard | 来源:python中文社区