利用Python批量保存Excel文件中的图表为图片
作者:Eiceblue
Excel工作簿作为一款功能强大的数据处理与分析工具,被广泛应用于各种领域,不仅能够方便地组织和计算数据,还支持用户创建丰富多彩的图表,直观展示数据背后的洞察与趋势。然而,在报告编制、网页内容制作或分享数据分析成果时,直接嵌入整个Excel文件往往不够便捷,且可能受限于接收者的软件兼容性问题。而将Excel文件中的图表保存为图片格式(如PNG、JPEG等)则可以解决这些问题,不仅能确保图表的显示一致性跨平台,便于插入到PPT、文档或网页中,还能有效降低文件大小,加速在线传输与加载速度。本文将详细介绍如何利用Python自动化实现从Excel文件中提取图表并保存为图片。
本文所使用的方法基于Spire.XLS for Python,PyPI:pip install Spire.XLS
。
用Python将Excel文件中的图表保存为图片
该库中的Workbook.SaveChartAsImage()方法和Workbook.SaveChartAsEmfImage()方法能够将图片保存为图片和EMF图片流,之后我们再将图片流保存到文件,即可实现提取图表并保存为图像的操作。
以下是操作步骤:
- 导入所需模块。
- 创建Workbook对象并使用Workbook.LoadFromFile()方法载入Excel文件。
- 遍历文件中的工作表,使用Workbook.Worksheets.get_Item()方法获取工作表。
- 遍历工作表中的图表,使用Workbook.SaveChartAsImage().Save()方法将图表保存到图片文件。
- 释放资源。
代码示例
from spire.xls import * from spire.xls.common import * # 创建Workbook实例 workbook = Workbook() # 载入Excel文件 workbook.LoadFromFile("示例.xlsx") # 遍历文件中的工作表 for i in range(0, workbook.Worksheets.Count): # 获取工作表 worksheet = workbook.Worksheets.get_Item(i) # 遍历工作表中的图表 for j in range(0, worksheet.Charts.Count): # 将图表保存为图片 chartImage = workbook.SaveChartAsImage(worksheet, j).Save(f"output/charts/chart{i+1}_{j+1}.png") workbook.Dispose()
保存结果
用Python将Excel图表工作表保存为图片
图表工作表(Chart Sheet)是Excel工作簿中专门用于显示图表的一个独立工作表类型,其中只包含一个图表。我们可以使用Workbook.GetChartSheetByName()方法通过工作表名获取指定图表工作表,并使用Workbook.SaveChartAsImage(chartSheet: ChartSheet).Save()方法将其转换为图片并保存。以下是操作步骤:
- 导入所需模块。
- 创建
Workbook
对象并使用Workbook.LoadFromFile()
方法载入Excel文件。 - 使用
Workbook.GetChartSheetByName()
方法获取指定图表工作表。 - 使用
Workbook.SaveChartAsImage().Save()
方法将图表工作表保存为图像。 - 释放资源。
代码示例
from spire.xls import * from spire.xls.common import * # 创建一个Workbook实例 workbook = Workbook() # 加载一个Excel文件 workbook.LoadFromFile("示例.xlsx") # 获取一个图表工作表 chartSheet = workbook.GetChartSheetByName("图表一") # 将图表工作表保存为图片 workbook.SaveChartAsImage(chartSheet).Save("output/charts/chartsheet.png") workbook.Dispose()
结果
本文介绍了如何使用Python将Excel工作簿中的图表批量保存为图片。
到此这篇关于利用Python批量保存Excel文件中的图表为图片的文章就介绍到这了,更多相关Python保存Excel图表为图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!