pin_drop当前位置:知识文库 ❯ 图文
Python openpyxl库简介与安装教程 - Excel文件处理入门
一、概述
openpyxl是Python中用于读写Excel 2010+(.xlsx/.xlsm)文件的第三方库。它支持创建、修改、读取Excel工作簿、工作表、单元格、图表、样式等几乎所有Excel元素。openpyxl不依赖Microsoft Excel,可跨平台运行,是Python处理Excel文件的首选工具。
二、语法
代码示例
from openpyxl import Workbook, load_workbook三、安装参数说明
四、返回值
导入后即可使用Workbook、load_workbook等核心类。
五、代码示例
示例1:安装并导入openpyxl
代码示例
from openpyxl import Workbook, load_workbook
import openpyxl
print(f"openpyxl版本: {openpyxl.__version__}")
print(f"安装路径: {openpyxl.__file__}")输出:
代码示例
openpyxl版本: 3.1.2
安装路径: C:\Python39\lib\site-packages\openpyxl\__init__.py示例2:创建第一个Excel文件
代码示例
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取活动工作表
ws = wb.active
ws.title = 'Hello'
# 写入数据
ws['A1'] = 'Hello'
ws['B1'] = 'openpyxl!'
ws['A2'] = 100
ws['B2'] = 200
# 保存文件
wb.save('hello.xlsx')
print("文件已保存为 hello.xlsx")输出:
代码示例
文件已保存为 hello.xlsx示例3:openpyxl核心功能概览
代码示例
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# 1. 基本读写
ws['A1'] = '数据写入'
print(f"读取A1: {ws['A1'].value}")
# 2. 批量写入
data = [['姓名', '年龄', '城市'],
['张三', 25, '北京'],
['李四', 30, '上海']]
for row in data:
ws.append(row)
# 3. 工作表操作
ws2 = wb.create_sheet('Sheet2')
print(f"工作表列表: {wb.sheetnames}")
# 4. 读取数据
for row in ws.iter_rows(min_row=1, max_row=4, values_only=True):
print(f" {row}")
wb.save('overview.xlsx')
print("\n概览文件已保存")输出:
代码示例
读取A1: 数据写入
工作表列表: ['Hello', 'Sheet2']
('数据写入', 'openpyxl!', None, None)
('姓名', '年龄', '城市')
('张三', 25, '北京')
('李四', 30, '上海')
概览文件已保存六、实际应用场景
-
数据报表自动生成:定期从数据库提取数据写入Excel
-
批量处理Excel文件:合并多个表格或提取特定数据
-
自动化测试报告:将测试结果写入Excel报告
七、注意事项
注意:openpyxl只支持.xlsx格式,不支持旧版.xls格式(需使用xlrd/xlwt)
注意:openpyxl是第三方库,需要通过
pip install openpyxl安装
注意:处理大文件时,建议使用read_only和write_only模式节省内存
八、Python Excel库对比
九、小结
-
openpyxl是Python处理Excel .xlsx文件的首选库
-
支持创建、读取、修改工作簿、工作表、单元格等所有Excel元素
-
不依赖Microsoft Excel,跨平台运行
-
大文件处理建议使用read_only/write_only模式
十、练习题
练习1
安装openpyxl,打印版本号,创建一个工作簿并保存为test.xlsx
练习2
创建一个工作簿,在活动工作表中写入3行3列的数据,保存后重新打开读取
练习3
创建一个工作簿,添加3个工作表,分别命名为"一月"、"二月"、"三月"
常见问题
openpyxl支持读取.xls格式的文件吗?
不支持。openpyxl只支持Excel 2010+的.xlsx和.xlsm格式。如果需要处理旧版.xls文件,可以使用xlrd库读取,或用Excel先将文件另存为.xlsx格式。
openpyxl和pandas处理Excel有什么区别?
pandas适合数据分析和处理,底层使用openpyxl读写Excel文件。openpyxl更适合精细控制Excel的格式、样式、图表等元素。如果只是读取数据做分析,pandas更简洁;如果需要设置单元格格式、创建图表等,openpyxl更合适。
如何处理超大Excel文件避免内存溢出?
读取大文件时使用load_workbook(filename, read_only=True)只读模式,写入大文件时使用Workbook(write_only=True)只写模式。这两种模式采用流式处理,可以大幅降低内存占用。
openpyxl可以在没有安装Microsoft Excel的电脑上使用吗?
完全可以。openpyxl不依赖Microsoft Excel,它直接读写.xlsx文件(本质上是ZIP压缩包格式的XML文件),因此可以在Windows、macOS、Linux等任何安装了Python的平台上运行。
本文涉及AI创作
内容由AI创作,请仔细甄别