专栏导读
-
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
-
-
-
-
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
-
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
-
❤️ 欢迎各位佬关注! ❤️
库的介绍
-
Openpyxl是一个强大的Python库,主要用于读取、写入和操作Excel文件(特别是.xlsx格式)。它提供了一组功能丰富的API,支持Excel 2010及更高版本的文件格式,使得在编程中处理Excel文件变得非常容易。
-
Openpyxl的主要特点和功能包括:
-
1、支持.xlsx格式:Openpyxl主要用于处理Excel 2010及更新版本的.xlsx文件。
-
2、读写Excel文件:用户可以使用Openpyxl读取现有的Excel文件,获取数据,修改数据,并保存到新的文件中。
-
3、操作单元格:Openpyxl允许用户按行、列或具体的单元格进行数据的读取和写入。
-
4、创建和修改工作表:用户可以创建新的工作表,复制和删除现有的工作表,以及设置工作表的属性等。
-
5、样式设置:Openpyxl允许用户设置单元格的字体、颜色、边框等样式。
-
6、图表和公式:用户可以通过Openpyxl创建图表、添加公式等。
-
7、支持数字和日期格式:Openpyxl能够正确处理数字和日期格式,确保在Excel中显示正确的格式。
在Openpyxl中,有三个主要的对象:Workbook、Worksheet和Cell。Workbook代表一个Excel文档,Worksheet代表表格,Cell则代表单元格。这些对象都包含了许多属性和方法,方便用户进行各种操作。
安装和导入Openpyxl也相对简单。用户可以使用pip进行安装,然后在Python程序中通过import语句导入整个库或特定的模块和函数。
总的来说,Openpyxl是一个功能强大、易于使用的Python库,可以大大提高处理Excel文件的效率。无论是自动化处理大量数据,还是创建漂亮的报告,Openpyxl都是一个强大的工具。
库的安装
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/
准备一个测试Excel数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f5016474d9aa4214900c8b74e959ce37.png)
1、读取Excel文件(按行读取)
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx',read_only=True)
worksheet = workbook.active
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
d = list(row)
print(f"行{i}",d)
行1 ['姓名', '班级', '性别', '年龄']
行2 ['张1', 1, '男', 10]
行3 ['张2', 1, '男', 11]
行4 ['张3', 1, '男', 12]
行5 ['张4', 1, '男', 13]
行6 ['张5', 1, '男', 14]
行7 ['张6', 1, '男', 15]
行8 ['张7', 1, '男', 16]
略略略略
2、读取Excel文件(按某列读取)
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
for i, cell in enumerate(worksheet["A"], 1):
print(f"行{i}",cell.value)
行1 姓名
行2 张1
行3 张2
行4 张3
行5 张4
行6 张5
行7 张6
行8 张7
略略
3、新增一列
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
worksheet.insert_cols(1)
workbook.save("结果.xlsx")
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a6be634df84040da913cba9f680006da.png)
4、删除一列
import openpyxl
from openpyxl.styles import Font
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
for row in worksheet.iter_rows(min_row=1, max_row=worksheet.max_row, min_col=2, max_col=2):
for cell in row:
cell.value = None
workbook.save("结果.xlsx")
-
输出
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8a791edadff34cb3b4abc64ffa5b89d8.png)
5、插入一行
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
worksheet.insert_rows(3)
workbook.save("结果.xlsx")
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/00edfe8d741f4649adaf4748a28352a3.png)
6、删除一行
import openpyxl
from openpyxl.styles import Font
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
worksheet.delete_rows(5)
workbook.save("结果.xlsx")
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/249522bc4d2647b0a320ce9ac99fdf90.png)
7、修改单元格值
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
worksheet['A1'] = '哈哈'
workbook.save("结果.xlsx")
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/de769c29be334066b8e28b59bab90d7b.png)
8、修改单元底色
import openpyxl
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
for cell in worksheet[1]:
cell.fill = openpyxl.styles.PatternFill(start_color='FFC000', end_color='FFC000', fill_type='solid')
workbook.save("结果.xlsx")
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6d4bfaf7261d4cf8bf48e1a064b86b99.png)
9、修改单元格字体
import openpyxl
from openpyxl.styles import Font
font = Font(name='微软雅黑', size=10, bold=True)
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
for cell in worksheet[1]:
cell.font = font
workbook.save("结果.xlsx")
-
输出
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d12180494b4e4bf0b7da6c172e6cbf49.png)
10、获取sheet表 切换sheet表
import openpyxl
from openpyxl.styles import Font
workbook = openpyxl.load_workbook('./text.xlsx')
worksheet = workbook.active
for sheet in workbook.sheetnames:
print(sheet)
worksheet = workbook[sheet]
print("正在处理:", sheet)
workbook.save("结果.xlsx")
Sheet1
正在处理: Sheet1
Sheet2
正在处理: Sheet2
总结
-
希望对初学者有帮助
-
致力于办公自动化的小小程序员一枚
-
希望能得到大家的【一个免费关注】!感谢
-
求个 🤞 关注 🤞
-
-
求个 ❤️ 喜欢 ❤️
-
-
求个 👍 收藏 👍
-