别再当人肉复制机了
每天在Word里敲重复内容?在Excel里做透视表做到眼花?给PPT调格式调到凌晨?醒醒! 这些活儿,Python十分钟就能干完。我见过太多人,加班加点就为了这些机械劳动,简直是在用生命给老板省软件钱😅。
Excel?交给openpyxl就对了
处理Excel,openpyxl是绝对的王者。它不依赖Excel软件,直接读写.xlsx文件,快得飞起。
from openpyxl import Workbook
# 创建一个新工作簿
wb = Workbook()
ws = wb.active
ws.title = "我的自动化报表"
# 写入数据
ws['A1'] = "产品"
ws['B1'] = "销售额"
ws.append(["手机", 50000])
ws.append(["电脑", 80000])
# 保存文件
wb.save("销售报表.xlsx")
样式搞起来,老板看了都说专业
光有数据不行,还得好看。openpyxl能让你的表格瞬间高大上。
from openpyxl.styles import Font, PatternFill
# 给标题加粗+黄色背景
header_font = Font(bold=True, color="FFFFFF")
header_fill = PatternFill(start_color="366092", end_color="366092", fill_type="solid")
for cell in ws[1]:
cell.font = header_font
cell.fill = header_fill
wb.save("销售报表_美化版.xlsx")
Word文档?python-docx来接管
批量生成合同、报告?python-docx让你告别复制粘贴。
from docx import Document
doc = Document()
doc.add_heading('月度工作报告', 0)
doc.add_paragraph('本月完成项目:')
doc.add_paragraph('1. 自动化脚本开发', style='List Bullet')
doc.add_paragraph('2. 数据分析报告', style='List Bullet')
# 插个表格
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '指标'
table.cell(0, 1).text = '完成率'
table.cell(1, 0).text = '任务A'
table.cell(1, 1).text = '100%'
doc.save('工作报告.docx')
PPT也能自动生成?没开玩笑!
每周都要做汇报PPT?python-pptx库了解一下。
from pptx import Presentation
from pptx.util import Inches
prs = Presentation()
slide_layout = prs.slide_layouts[1] # 标题+内容布局
slide = prs.slides.add_slide(slide_layout)
slide.shapes.title.text = "Q1 业绩汇报"
slide.placeholders[1].text = "• 销售额同比增长20%\n• 新客户增长15%"
# 插入一张图表图片(假设你有张图叫chart.png)
left = top = Inches(2)
slide.shapes.add_picture('chart.png', left, top, width=Inches(6))
prs.save('Q1汇报.pptx')
真正的王炸:三件套联动
最骚的操作来了!把三个库组合起来,威力无穷。
想象一下:从Excel读取销售数据 -> 自动生成Word分析报告 -> 最后做成PPT汇报。一气呵成!
# 伪代码示意
from openpyxl import load_workbook
from docx import Document
from pptx import Presentation
# 1. 读Excel
wb = load_workbook('data.xlsx')
sales_data = wb['Sheet1']['B2'].value
# 2. 写Word
doc = Document()
doc.add_paragraph(f"本月销售额为: {sales_data}")
doc.save('report.docx')
# 3. 做PPT
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = f"销售额: {sales_data}"
prs.save('presentation.pptx')
效率提升不是一点点
我有个朋友,以前每周花5小时做周报。用了这套组合拳后,5分钟搞定。剩下的4小时55分钟,他用来学习新技能,半年后升职加薪了。这投资回报率,简直离谱!
别再用宝贵的生命去换那点工资了。让代码去干脏活累活,你只负责思考和创造。这才是程序员改变世界的方式,哪怕只是改变自己的小世界😉。
夜雨聆风