首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

openpyxl:Excel处理的终极解决方案

办公自动化少不了要处理Excel文件,今天咱们就来聊聊Python里特别好用的Excel处理库 - openpyxl。

它不光能读写Excel文件,还能搞定格式设置、图表制作这些花里胡哨的功能。

我用了好几年,是真的好用,分分钟就能把枯燥的重复工作自动化了。

安装和基本使用

装这个库超简单,一行代码的事:

pip install openpyxl

来看看最基本的用法:

from openpyxl import Workbook, load_workbook

# 新建工作簿

wb = Workbook()

ws = wb.active  # 获取当前活动的工作表

# 写入数据

ws['A1'] = '我是标题'

ws.cell(row=2, column=1, value='第二行数据')

# 保存文件

wb.save('demo.xlsx')

温馨提示:别忘了关闭Excel再用代码操作,不然会报错哦!

读取已有的Excel文件

读取Excel文件也是小菜一碟:

# 打开已有的Excel文件

wb = load_workbook('现有文件.xlsx')

# 获取所有工作表名称

print(wb.sheetnames)

# 选择一个工作表

ws = wb['Sheet1']

# 读取单元格内容

print(ws['A1'].value)

# 遍历所有行

for row in ws.rows:

  for cell in row:

      print(cell.value)

玩转单元格格式

想把Excel搞得好看点?openpyxl也能帮你:

from openpyxl.styles import Font, PatternFill, Alignment

# 设置字体

cell = ws['A1']

cell.font = Font(name='微软雅黑', size=12, bold=True, color='FF0000')

# 背景颜色

cell.fill = PatternFill('solid', fgColor='CCCCCC')

# 对齐方式

cell.alignment = Alignment(horizontal='center', vertical='center')

图表制作

说实话,用代码画图表开始可能有点懵,不过熟悉了真的超方便:

from openpyxl.chart import BarChart, Reference

# 准备数据

ws['A1'] = '月份'

ws['B1'] = '销量'

months = ['1月', '2月', '3月', '4月']

sales = [100, 150, 200, 130]

for i in range(4):

  ws.cell(row=i+2, column=1, value=months[i])

  ws.cell(row=i+2, column=2, value=sales[i])

# 创建图表

chart = BarChart()

chart.title = “月度销量统计”

data = Reference(ws, min_col=2, min_row=1, max_row=5)

categories = Reference(ws, min_col=1, min_row=2, max_row=5)

chart.add_data(data, titles_from_data=True)

chart.set_categories(categories)

# 插入图表

ws.add_chart(chart, “D1”)

温馨提示:图表位置要留够空间,不然会覆盖数据!

实用小技巧

数据处理中常用的一些操作:

# 合并单元格

ws.merge_cells('A1:C1')

# 设置列宽

ws.column_dimensions['A'].width = 20

# 批量写入数据

data = [

  ['姓名', '年龄', '成绩'],

  ['小明', 18, 90],

  ['小红', 17, 85]

]

for row in data:

  ws.append(row)

写Excel的时候老是碰到各种坑,这些都是血泪教训:

记得经常保存,万一程序崩了还能保住数据

大文件操作记得用read_only模式,不然内存容易爆

日期格式要特别注意,最好直接用datetime对象

公式要用英文格式,比如SUM不能写成求和

openpyxl是个宝藏库,掌握了它基本能应付大部分Excel处理需求。刚开始用可能觉得有点复杂,多练练就熟悉了。代码写好了,以后再处理Excel就轻松多了,摸鱼时间又多了,美滋滋!

往期回顾

点赞分享

让钱和爱流向你

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OjllS0dj4BQaGrGHBhWVPgkw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券