如何将Dataframe与两张图片写入Excel文件的不同工作表
将Dataframe与图片分工作表写入Excel
需要生成一个包含两张工作表的Excel工作簿:
- 第一张工作表(Sheet1)写入Pandas Dataframe数据
- 第二张工作表(Sheet2)插入两张图片
原代码中直接调用writer.sheets['Sheet2']会触发报错,因为目标工作表尚未创建。以下是修正后的完整实现代码:
import pandas as pd # 创建示例Dataframe df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) # 初始化XlsxWriter引擎的Excel写入器 writer = pd.ExcelWriter('pandas_image2.xlsx', engine='xlsxwriter') # 将Dataframe写入Sheet1工作表 df.to_excel(writer, sheet_name='Sheet1') # 获取工作簿对象,并创建用于存放图片的Sheet2工作表 workbook = writer.book worksheet = workbook.add_worksheet('Sheet2') # 在Sheet2的不同单元格位置插入两张图片 worksheet.insert_image('D3', 'TRAJ_FIG.PNG') worksheet.insert_image('D15', 'SECOND_FIG.PNG') # 替换为你的第二张图片本地路径 # 保存并关闭Excel写入器 writer.close()
关键说明
- 必须通过
workbook.add_worksheet('Sheet2')显式创建新工作表,避免因工作表不存在导致的KeyError - 调整
insert_image()的第一个参数(如'D3'、'D15')可以指定图片在工作表中的位置,防止两张图片重叠 - 使用
writer.close()替代writer.save()是XlsxWriter官方推荐的资源释放方式,功能等价但更规范
内容的提问来源于stack exchange,提问作者Windy71
相关产品推荐
相关产品推荐

