Python自动生成分析报告需三步联动:pandas处理数据、matplotlib/seaborn可视化、openpyxl写Excel、pdfkit(基于wkhtmltopdf)转HTML为PDF;关键在选对工具、理清流程、解决中文显示、分页与图表刷新问题。

用Python自动生成分析报告并导出为PDF和Excel,核心在于“数据处理 + 可视化 + 文档编排”三步联动。关键不是堆砌库,而是选对工具、理清流程:pandas做数据整理,matplotlib/seaborn绘图,openpyxl或xlsxwriter写Excel,而PDF推荐使用pdfkit(基于wkhtmltopdf)或reportlab——前者适合HTML转PDF(易上手、样式灵活),后者适合完全代码控制布局(学习成本略高)。
一、准备环境与基础依赖
确保安装以下常用库:
-
pandas:读取、清洗、汇总数据 -
matplotlib或seaborn:生成统计图表(注意设置plt.rcParams['font.sans-serif']支持中文) -
openpyxl:向Excel写入带样式的表格、图表(支持.xlsx)、多Sheet管理 -
pdfkit+wkhtmltopdf:将HTML模板转为PDF(需单独下载wkhtmltopdf二进制并配置路径) -
jinja2:渲染动态HTML报告模板(插入标题、表格、图片路径等)
二、Excel报告:结构清晰、开箱即用
用openpyxl可实现表头加粗、列宽自适应、数字格式化、甚至嵌入图表。示例逻辑:
- 创建
Workbook,添加多个Worksheet(如“概览”“明细”“图表”) - 用
dataframe.to_excel(writer, sheet_name='概览', index=False)写入基础表 - 手动设置单元格样式:
ws['A1'].font = Font(bold=True),ws.column_dimensions['B'].width = 15 - 从matplotlib保存图表为PNG,再用
openpyxl.drawing.image.Image()插入工作表
三、PDF报告:HTML为桥,样式可控
比直接用reportlab更快落地的方式是:先用Jinja2生成含CSS样式的HTML,再用pdfkit转PDF。
标签: css excel python html 工具 后端 csv pdf win 统计图表 css样式
还木有评论哦,快来抢沙发吧~