超详细讲解Python中openpyxl库
openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
安装:
pip install openpyxl
基本用法:
- 读取Excel文件:
from openpyxl import load_workbook
# 加载现存的Excel文件
workbook = load_workbook(filename='example.xlsx')
# 获取所有的sheet names
print(workbook.sheetnames)
# 通过sheet名称获取sheet
sheet = workbook['Sheet1']
# 读取单元格内容
print(sheet['A1'].value)
# 遍历所有行
for row in sheet.iter_rows(values_only=True):
print(row)
- 创建新的Excel文件并写入数据:
from openpyxl import Workbook
# 创建一个新的Workbook
wb = Workbook()
# 获取正在操作的sheet
sheet = wb.active
# 写入数据到单元格
sheet['A1'] = 'Hello, World!'
# 保存文件
wb.save('example.xlsx')
- 修改已有的Excel文件:
from openpyxl import load_workbook
# 加载现存的Excel文件
workbook = load_workbook(filename='example.xlsx')
# 获取正在操作的sheet
sheet = workbook.active
# 修改已有的数据
sheet['A1'] = 'Hello, OpenPyXL!'
# 保存修改
workbook.save('example.xlsx')
- 创建新的sheet:
from openpyxl import Workbook
wb = Workbook()
# 创建一个名为'New Sheet'的sheet
ws = wb.create_sheet('New Sheet')
# 保存文件
wb.save('example.xlsx')
- 调整列宽和行高:
from openpyxl.worksheet.worksheet import Worksheet
ws: Worksheet = wb.active
# 调整第一列的宽度
ws.column_dimensions['A'].width = 20
# 调整第一行的高度
ws.row_dimensions[1].height = 50
- 合并和拆分单元格:
# 合并单元格
ws.merge_cells('A1:B1')
# 拆分单元格(前提是该单元格之前已经合并)
ws.unmerge_cells('A1:B1')
- 设置字体和样式:
from openpyxl.styles import Font, colors
# 设置字体
font = Font(name='Arial', size=10, bold=True, color=colors.RED)
# 应用字体到单元格
ws['A1'].font = font
- 插入图片:
from openpyxl.drawing.image import Image
# 在特定单元格插入图片
img = Image('image.png')
ws.add_image(img, 'A1')
这些是openpyxl库的基本用法,根据需求可以进行更复杂的操作,如使用循环、公式、过滤器等。
评论已关闭