当前位置: 代码网 > it编程>前端脚本>Python > python使用Openpyxl操作Excel文件的实现

python使用Openpyxl操作Excel文件的实现

2025年04月29日 Python 我要评论
openpyxl 是一个用于在 python 中读取和写入 excel 文件的优秀库。它支持 .xlsx 和 .xlsm 格式,非常适合在 ubuntu 系统上进行 excel 数据处理和自动化操作。

openpyxl 是一个用于在 python 中读取和写入 excel 文件的优秀库。
它支持 .xlsx 和 .xlsm 格式,非常适合在 ubuntu 系统上进行 excel 数据处理和自动化操作。
本篇博客将介绍一些常用的 openpyxl 命令。

安装

安装python3

首先,你需要安装 openpyxl 和 python。在 ubuntu 上,可以通过以下命令安装:

sudo apt install python3

安装 openpyxl

pip3 install openpyxl

基础操作

1. 引入

from openpyxl import workbook # 新建文件的引入
from openpyxl import load_workbook # 加载已存在文件的引入

2. 创建工作簿和工作表

wb = workbook() # 创建一个新的工作簿
ws = wb.active # 获取活动工作表

wb.create_sheet("sheet2") # 创建一个新的工作表并命名
ws.title = "newsheet" # 修改工作表名

3. 写入数据

ws['a1'] = 'hello, world!'
ws['b1'] = 42
ws['c1'] = 3.14
cell = ws.cell(row=1, column=1, value="new value")

4. 保存工作簿

wb.save('example.xlsx')

5. 加载已存在的excel

wb = load_workbook('example.xlsx')
ws = wb.active

6. 读取单元格的值

cell_a1 = ws['a1'].value
cell_b1 = ws['b1'].value
cell_c1 = ws['c1'].value

print(f"a1: {cell_a1}, b1: {cell_b1}, c1: {cell_c1}")

7. 选择工作表

ws1 = wb.worksheets[0] # 通过索引选择工作表
ws2 = wb["sheet2"] # 通过名称选择工作表

样式和格式化

1. 引入

from openpyxl.styles import font, alignment # 样式操作的引入

2. 设置字体

font = font(name='arial', size=14, bold=true, italic=false)
ws['a1'].font = font

3. 设置边框

border = border(left=side(border_style='thin'),
                right=side(border_style='thin'),
                top=side(border_style='thin'),
                bottom=side(border_style='thin'))
ws['a1'].border = border

4. 填充

fill = patternfill(start_color="ff0000", end_color="ff0000", fill_type="solid")
ws['a1'].fill = fill

5. 设置数字格式

ws['b1'].number_format = '0.00%'   # 百分比格式
ws['c1'].number_format = 'yyyy-mm-dd'  # 日期格式

6. 数据验证

from openpyxl.worksheet.datavalidation import datavalidation

dv = datavalidation(type="list", formula1='"apple,banana,cherry"', allow_blank=true) # 创建数据验证对象

ws.add_data_validation(dv) 
dv.add('a1') # 将数据验证应用到单元格

7. 公式操作

可以在单元格中插入公式:

ws['d1'] = "=sum(a1:a3)"

性能优化

1. read_only/write_only

对于大的 excel 文件,可以使用read_only来提高读取效率, 使用 write_only 来优化写入性能

from openpyxl import load_workbook

wb = load_workbook('example.xlsx', read_only=true) # 使用只读模式加载工作簿
from openpyxl import workbook

wb = workbook(write_only=true) # 使用写入模式创建工作簿
ws = wb.create_sheet()

2. 遍历单元格

可以使用 .rows 和 .columns 遍历工作表中的行和列:

for row in ws.iter_rows(min_row=1, max_row=5, min_col=1, max_col=3):
    for cell in row:
        print(cell.value, end=" ")

到此这篇关于python使用openpyxl操作excel文件的实现的文章就介绍到这了,更多相关python openpyxl操作excel内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com