要每一日花费两个小时去整理Excel吗, 要手动进行重命名几百个文件吗, 还在做复制粘贴来生成报表吗, 一篇此等文章会教导你运用自动化办公, 将时间给节省下来去做更具价值之事。一、你被重复劳动偷走了多少时间假设你每天一年过去你于重复劳动里所耗费的时间超出400小时, 那可是整整50个工作日呢而这些事情几行代码就能搞定。二、Excel自动化, 告别手动复制粘贴, 进行批量读取Excel, 进行批量写入Excel。import openpyxl # 读取Excel文件 wb openpyxl.load_workbook(销售数据.xlsx) ws wb.active # 获取当前工作表 # 读取所有数据 for row in ws.iter_rows(values_onlyTrue): print(row) # 写入数据 wb_new openpyxl.Workbook() ws_new wb_new.active # 写入表头 ws_new.append([姓名, 部门, 工资]) # 写入多条数据 data [ [张三, 技术部, 15000], [李四, 市场部, 12000], [王五, 人事部, 10000] ] for row in data: ws_new.append(row) wb_new.save(新报表.xlsx) print(文件保存成功)2. 多表合并面试常考import pandas as pd import os # 合并当前文件夹下所有Excel文件 all_data [] folder_path ./excel_files for file in os.listdir(folder_path): if file.endswith(.xlsx): file_path os.path.join(folder_path, file) df pd.read_excel(file_path) all_data.append(df) # 合并所有表格 result pd.concat(all_data, ignore_indexTrue) result.to_excel(合并结果.xlsx, indexFalse) print(f共合并{len(all_data)}个文件共{len(result)}行数据)3. Excel数据分析和可视化import pandas as pd import matplotlib.pyplot as plt # 读取数据 df pd.read_excel(销售数据.xlsx) # 按月份汇总销售额 monthly_sales df.groupby(月份)[销售额].sum() # 画出柱状图 plt.rcParams[font.sans-serif] [SimHei] # 支持中文 plt.figure(figsize(10, 6)) monthly_sales.plot(kindbar, colorsteelblue) plt.title(月度销售额统计) plt.xlabel(月份) plt.ylabel(销售额元) plt.tight_layout() plt.savefig(销售图表.png, dpi150) print(图表已保存)三、文件批量处理1秒搞定1000个文件1. 批量重命名import os # 将文件夹下所有.jpg文件按序号重命名 folder ./images for i, filename in enumerate(os.listdir(folder)): if filename.endswith(.jpg): old_path os.path.join(folder, filename) new_name f图片_{i1:03d}.jpg # 图片_001.jpg, 图片_002.jpg... new_path os.path.join(folder, new_name) os.rename(old_path, new_path) print(f{filename} → {new_name}) print(批量重命名完成)2. 批量分类文件import os import shutil # 按文件后缀自动分类 folder ./downloads file_types { 图片: [.jpg, .png, .gif, .bmp], 文档: [.pdf, .docx, .txt, .xlsx], 视频: [.mp4, .avi, .mkv], 音乐: [.mp3, .wav, .flac], } for filename in os.listdir(folder): file_ext os.path.splitext(filename)[1].lower() for category, extensions in file_types.items(): if file_ext in extensions: # 创建分类文件夹 category_folder os.path.join(folder, category) os.makedirs(category_folder, exist_okTrue) # 移动文件 old_path os.path.join(folder, filename) new_path os.path.join(category_folder, filename) shutil.move(old_path, new_path) print(f移动{filename} → {category}/) break print(文件分类完成)3. 批量查找和替换文件内容import os # 批量替换文件夹下所有.txt文件中的关键字 folder ./articles old_text Python3 new_text Python 3.12 for filename in os.listdir(folder): if filename.endswith(.txt): filepath os.path.join(folder, filename) # 读取文件内容 with open(filepath, r, encodingutf-8) as f: content f.read() # 替换并保存 if old_text in content: content content.replace(old_text, new_text) with open(filepath, w, encodingutf-8) as f: f.write(content) print(f已替换{filename}) print(批量替换完成)四、自动发送邮件日报自动推送import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders def send_email(sender, password, receiver, subject, body, attachmentNone): 发送带附件的邮件 # 创建邮件 msg MIMEMultipart() msg[From] sender msg[To] receiver msg[Subject] subject # 添加正文 msg.attach(MIMEText(body, html, utf-8)) # 添加附件 if attachment: with open(attachment, rb) as f: part MIMEBase(application, octet-stream) part.set_payload(f.read()) encoders.encode_base64(part) part.add_header( Content-Disposition, fattachment; filename{os.path.basename(attachment)} ) msg.attach(part) # 发送邮件以QQ邮箱为例 server smtplib.SMTP_SSL(smtp.qq.com, 465) server.login(sender, password) server.sendmail(sender, receiver, msg.as_string()) server.quit() print(邮件发送成功) # 使用示例 send_email( senderyour_emailqq.com, passwordyour_auth_code, # QQ邮箱授权码不是密码 receiverbosscompany.com, subject今日销售数据日报, body今日销售数据日报[PROTECTED_cb79dab72dfafff0e0b8f425c71a9561] , attachment销售明细.xlsx )五、自动化办公完整脚本模板下面是一个可以直接用的日报自动化模板import pandas as pd import smtplib from email.mime.text import MIMEText from datetime import datetime def auto_daily_report(): 自动生成并发送日报 # 1. 读取数据 df pd.read_excel(今日数据.xlsx) # 2. 数据分析 total_sales df[金额].sum() order_count len(df) avg_price total_sales / order_count if order_count 0 else 0 top_product df.groupby(产品)[金额].sum().idxmax() # 3. 生成HTML报告 html f{datetime.now().strftime(%Y年%m月%d日)} 销售日报[PROTECTED_61d9daf060b52994ce9fb7ebd13836b1] # 4. 发送邮件 msg MIMEText(html, html, utf-8) msg[Subject] f销售日报-{datetime.now().strftime(%Y%m%d)} msg[From] senderqq.com msg[To] bosscompany.com server smtplib.SMTP_SSL(smtp.qq.com, 465) server.login(senderqq.com, your_auth_code) server.sendmail(senderqq.com, bosscompany.com, msg.as_string()) server.quit() print(日报发送成功) # 结合Windows任务计划程序或Linux cron定时执行 auto_daily_report()写在最后那些基础的读写操作, 是自动化办公无需促就编技高才便能够处理八成工作重复劳作的关键构成, 并且自动化办公还是投资回报率极为突出的技能类别之一。自打今天起, 提个建议: 寻觅一个于你工作期间最为厌烦的重复性操作, 借由自动化来处理它。一旦你头一回目睹电脑自行达成原本耗费半小时方可做完的工作之际, 你便决然没法再回归从前那般了。yA3.yyD521.CoMiFA.yyD521.CoMipi.yyD521.CoM7rc.yyD521.CoMpir.yyD521.CoMuwt.yyD521.CoMh7x.yyD521.CoMz9t.yyD521.CoMijk.yyD521.CoMiuh.yyD521.CoM4t4.yyD521.CoMycD.yyD521.CoMo2n.yyD521.CoMymy.yyD521.CoM5B7.yyD521.CoMxq6.yyD521.CoMoF2.yyD521.CoMi8z.yyD521.CoM13B.yyD521.CoMzuF.yyD521.CoMn12.yyD521.CoMzAv.yyD521.CoMk6B.yyD521.CoM05k.yyD521.CoM1Ft.yyD521.CoM0nq.yyD521.CoMn4j.yyD521.CoMp8l.yyD521.CoMBiu.yyD521.CoM2l3.yyD521.CoMA1h.yyD521.CoM9nv.yyD521.CoMxlh.yyD521.CoMxvE.yyD521.CoMA47.yyD521.CoM96u.yyD521.CoMn48.yyD521.CoM7qv.yyD521.CoMhj0.yyD521.CoMo5q.yyD521.CoMo4r.yyD521.CoM3z4.yyD521.CoMq16.yyD521.CoMi5E.yyD521.CoMvzz.yyD521.CoMwDo.yyD521.CoMEzl.yyD521.CoMt0p.yyD521.CoMnBy.yyD521.CoMmvl.yyD521.CoMqBl.yyD521.CoMyjF.yyD521.CoMhtF.yyD521.CoM9gE.yyD521.CoMAk6.yyD521.CoMD0g.yyD521.CoM4oo.yyD521.CoMAor.yyD521.CoMjrr.yyD521.CoMs2A.yyD521.CoMc3j.yyD521.CoMxFD.yyD521.CoMA3B.yyD521.CoMlsq.yyD521.CoM8D7.yyD521.CoMsz4.yyD521.CoMqpl.yyD521.CoMuo0.yyD521.CoMch8.yyD521.CoM2uA.yyD521.CoM8Bg.yyD521.CoMDg9.yyD521.CoMrt0.yyD521.CoM84x.yyD521.CoM7t6.yyD521.CoM57c.yyD521.CoMpuh.yyD521.CoM8lc.yyD521.CoMv4n.yyD521.CoMF86.yyD521.CoMkkt.yyD521.CoMk0o.yyD521.CoMcxq.yyD521.CoM0Dc.yyD521.CoMrE0.yyD521.CoMhEu.yyD521.CoM2kj.yyD521.CoMqo3.yyD521.CoMElu.yyD521.CoM08h.yyD521.CoMzrr.yyD521.CoMg6v.yyD521.CoMgxt.yyD521.CoM96l.yyD521.CoM6zg.yyD521.CoMupk.yyD521.CoMEp9.yyD521.CoMxii.yyD521.CoMkql.yyD521.CoMDgs.yyD521.CoM88m.yyD521.CoMhto.yyD521.CoMEo6.yyD521.CoM93t.yyD521.CoMq81.yyD521.CoM109.yyD521.CoM649.yyD521.CoME3v.yyD521.CoMvsl.yyD521.CoMxtD.yyD521.CoMBnj.yyD521.CoM3mz.yyD521.CoMvw2.yyD521.CoM5Ey.yyD521.CoMww7.yyD521.CoMjkE.yyD521.CoM33g.yyD521.CoM81z.yyD521.CoMB1E.yyD521.CoMnBs.yyD521.CoMn9B.yyD521.CoMxlA.yyD521.CoMso2.yyD521.CoM7wE.yyD521.CoMt0D.yyD521.CoM24k.yyD521.CoMvl0.yyD521.CoMwFy.yyD521.CoM83o.yyD521.CoM880.yyD521.CoMhh2.yyD521.CoMqDw.yyD521.CoMuq7.yyD521.CoMqDo.yyD521.CoMu7p.yyD521.CoMt2i.yyD521.CoM5Ag.yyD521.CoMcg0.yyD521.CoMDx7.yyD521.CoMm34.yyD521.CoMuB6.yyD521.CoMi9n.yyD521.CoM26D.yyD521.CoM3q9.yyD521.CoMoDi.yyD521.CoM8BF.yyD521.CoMkkh.yyD521.CoMcvo.yyD521.CoMyjy.yyD521.CoMzsD.yyD521.CoM8kx.yyD521.CoME4o.yyD521.CoM91o.yyD521.CoMjo6.yyD521.CoMq2i.yyD521.CoMmqz.yyD521.CoM6gg.yyD521.CoMpq2.yyD521.CoMpnv.yyD521.CoMBEm.yyD521.CoMhuq.yyD521.CoM89k.yyD521.CoM544.yyD521.CoMmpo.yyD521.CoMxut.yyD521.CoME83.yyD521.CoM8Ay.yyD521.CoMzgg.yyD521.CoMhAu.yyD521.CoMchD.yyD521.CoM3sv.yyD521.CoMuyz.yyD521.CoM1Fx.yyD521.CoMuzA.yyD521.CoMmu0.yyD521.CoM08x.yyD521.CoMwn2.yyD521.CoMziF.yyD521.CoMikv.yyD521.CoM48z.yyD521.CoMs5u.yyD521.CoMmAq.yyD521.CoMnEq.yyD521.CoMiqv.yyD521.CoMB2c.yyD521.CoMqr1.yyD521.CoM8Fw.yyD521.CoMB0v.yyD521.CoMnFE.yyD521.CoMoqq.yyD521.CoMotk.yyD521.CoMomk.yyD521.CoMAy3.yyD521.CoMEBv.yyD521.CoMtmj.yyD521.CoMBuq.yyD521.CoMis7.yyD521.CoMwm3.yyD521.CoMo53.yyD521.CoM3j4.yyD521.CoMnEo.yyD521.CoM1Av.yyD521.CoMc27.yyD521.CoMFoi.yyD521.CoM0kr.yyD521.CoMnqq.yyD521.CoMrB5.yyD521.CoMy1s.yyD521.CoM97p.yyD521.CoMrmy.yyD521.CoMijh.yyD521.CoME19.yyD521.CoMD5E.yyD521.CoMcDh.yyD521.CoM6nr.yyD521.CoMluz.yyD521.CoMwi2.yyD521.CoMo50.yyD521.CoMynu.yyD521.CoMDkB.yyD521.CoM3yn.yyD521.CoMEq7.yyD521.CoMwit.yyD521.CoM8kc.yyD521.CoMyhB.yyD521.CoMrrE.yyD521.CoMDxx.yyD521.CoMlD3.yyD521.CoMj2E.yyD521.CoMiF3.yyD521.CoM3A0.yyD521.CoMzk7.yyD521.CoMx46.yyD521.CoMh8y.yyD521.CoMchB.yyD521.CoM05l.yyD521.CoM8rh.yyD521.CoM84j.yyD521.CoMDF2.yyD521.CoM2yn.yyD521.CoMvsi.yyD521.CoMEsj.yyD521.CoM5Br.yyD521.CoMlEl.yyD521.CoMgg4.yyD521.CoMvDA.yyD521.CoMEyq.yyD521.CoMlAv.yyD521.CoMv1z.yyD521.CoMip9.yyD521.CoM0zr.yyD521.CoMzxq.yyD521.CoMzo5.yyD521.CoMElc.yyD521.CoMD75.yyD521.CoMpn8.yyD521.CoM09h.yyD521.CoMvBr.yyD521.CoMq9l.yyD521.CoM7o0.yyD521.CoMw7c.yyD521.CoMxwq.yyD521.CoMn4z.yyD521.CoMvBx.yyD521.CoMAm5.yyD521.CoMjsz.yyD521.CoMu51.yyD521.CoM288.yyD521.CoMj8h.yyD521.CoMt1c.yyD521.CoM3w3.yyD521.CoMoyh.yyD521.CoMnmD.yyD521.CoM3ss.yyD521.CoMohF.yyD521.CoMng7.yyD521.CoMz7s.yyD521.CoMiFc.yyD521.CoMn2r.yyD521.CoMAzc.yyD521.CoMtok.yyD521.CoM54o.yyD521.CoMo8h.yyD521.CoM0A0.yyD521.CoMcc0.yyD521.CoM388.yyD521.CoMluD.yyD521.CoMzp7.yyD521.CoMxAy.yyD521.CoMDzs.yyD521.CoMA4l.yyD521.CoMg7z.yyD521.CoMhEs.yyD521.CoM8Di.yyD521.CoMlp4.yyD521.CoMzFm.yyD521.CoMB4r.yyD521.CoMxBn.yyD521.CoM89s.yyD521.CoM0Du.yyD521.CoMntn.yyD521.CoMr8h.yyD521.CoM86t.yyD521.CoM3ni.yyD521.CoMqrv.yyD521.CoMBql.yyD521.CoMAvq.yyD521.CoM6tx.yyD521.CoMqEr.yyD521.CoMuxB.yyD521.CoMijv.yyD521.CoMmgy.yyD521.CoM09l.yyD521.CoMBkt.yyD521.CoMhFl.yyD521.CoMc6v.yyD521.CoM8o4.yyD521.CoMAoo.yyD521.CoM3nv.yyD521.CoMr8r.yyD521.CoMF06.yyD521.CoM6g8.yyD521.CoM1ug.yyD521.CoMx1l.yyD521.CoMEcs.yyD521.CoMyrr.yyD521.CoM6mx.yyD521.CoMoym.yyD521.CoMD6s.yyD521.CoMEo9.yyD521.CoMc86.yyD521.CoMv7E.yyD521.CoMlzv.yyD521.CoMx2h.yyD521.CoMo98.yyD521.CoM5Fc.yyD521.CoM3kt.yyD521.CoMqEA.yyD521.CoMqy6.yyD521.CoMoEw.yyD521.CoMjpj.yyD521.CoM48l.yyD521.CoMjn7.yyD521.CoMcmE.yyD521.CoMtD5.yyD521.CoM66j.yyD521.CoM09g.yyD521.CoM36w.yyD521.CoMm1E.yyD521.CoMwuz.yyD521.CoMF55.yyD521.CoMx0s.yyD521.CoMn9x.yyD521.CoMFgx.yyD521.CoMyzl.yyD521.CoMuc5.yyD521.CoMlkj.yyD521.CoMDqw.yyD521.CoMuF2.yyD521.CoMiox.yyD521.CoMwvn.yyD521.CoMigl.yyD521.CoMchw.yyD521.CoMx1F.yyD521.CoMtpv.yyD521.CoMw51.yyD521.CoMhly.yyD521.CoMx1v.yyD521.CoMvh3.yyD521.CoMrgF.yyD521.CoMB60.yyD521.CoMtnj.yyD521.CoM