Python处理Excel有多爽?学会了效率翻倍!
- 为什么要学Python处理Excel?
- 环境准备
- pandas:数据分析神器
- openpyxl:精细控制Excel
- 实战案例
- 常见问题
- 总结
想象一下:每个月要处理几十个Excel文件,手动复制粘贴花上大半天,眼睛累得不行。
但是!用Python处理可能只需要几秒钟!喝杯咖啡的功夫,任务就完成了。
- pandas- 数据分析,适合大量数据
- openpyxl- 精细控制,适合做漂亮表格
pip install pandas openpyxl
import pandas as pd df = pd.read_excel('销售数据.xlsx', sheet_name='Sheet1') print(df.head())
df.to_excel('处理完成.xlsx', index=False)
# 筛选销售额大于1000的行 high_sales = df[df['销售额'] > 1000] # 计算总和和平均值 total = df['销售额'].sum() average = df['销售额'].mean()
手动在Excel里筛选半天?Python分分钟搞定!
from openpyxl import Workbook wb = Workbook() ws = wb.active ws["A1"] = "产品名称" ws["B1"] = "销售额" ws.save("新表格.xlsx")
from openpyxl import load_workbook wb = load_workbook('销售数据.xlsx') ws = wb.active ws["D1"] = "更新后的数据" wb.save('修改后.xlsx')
from openpyxl.styles import Font, PatternFill ws["A1"].font = Font(color="FF0000", bold=True) ws["A1"].fill = PatternFill(start_color="FFFF00", fill_type="solid")
import pandas as pd import os from openpyxl import Workbook from openpyxl.styles import Font, PatternFill folder_path = './销售数据' output_file = '年度汇总.xlsx' # 获取所有Excel文件 excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')] # 读取并合并数据 all_data = [] for file in excel_files: df = pd.read_excel(os.path.join(folder_path, file)) all_data.append(df) combined_df = pd.concat(all_data, ignore_index=True) summary = combined_df.groupby('产品')['销售额'].sum().reset_index() # 创建格式化的报表 wb = Workbook() ws = wb.active ws.title = "汇总报表" # 写入标题(带样式) ws["A1"] = "产品名称" ws["B1"] = "年度总销售额" ws["A1"].font = Font(bold=True, color="FFFFFF") ws["A1"].fill = PatternFill(start_color="4472C4", fill_type="solid") ws["B1"].font = Font(bold=True, color="FFFFFF") ws["B1"].fill = PatternFill(start_color="4472C4", fill_type="solid") # 写入数据 for idx, row in summary.iterrows(): ws.cell(row=idx+2, column=1, value=row['产品']) ws.cell(row=idx+2, column=2, value=row['销售额']) wb.save(output_file) print(f"完成!汇总报表已保存")
- 1找出文件夹里所有Excel文件
- 2逐个读取并合并数据
- 3按产品分组计算总销售额
- 4用openpyxl创建带格式的报表
Q: 读取中文文件名报错?A: 加encoding='utf-8'
Q: Sheet名称有中文?A:pd.read_excel('文件.xlsx', sheet_name='数据表')
- pandas的
merge()合并表格 - matplotlib在Excel里插入图表
- xlwings直接操作Excel界面
- schedule库设置定时任务
- pandas:数据分析
- openpyxl:样式控制
- 实战:自动汇总报表
学会了这些,你已经超越了80%的Excel用户!以后处理表格的工作交给Python,你喝咖啡等着就行~
学习最重要的是多动手。从简单任务开始,慢慢熟悉后再尝试复杂自动化。