xlsxwriter:图像未写入此循环内的工作表单元格

xlsxwriter: images are not written to worksheet cell inside this loop

我正在尝试将一组绘图图像插入 excel。绘图已成功创建并保存在先前的函数中并写入工作目录。

class name():

def some_func(self):
    self.writer = pd.ExcelWriter('Name1',engine='xlsxwriter')
    return

def write_excel(self):
    df = pd.DataFrame({'Data': [1]})
    df.to_excel(self.writer,sheet_name='images',index=False, header=False)
    self.writer.save()   
    return

def save_plots():
    create plots and save them to folder
    return  

def write_excel(self):
    self.workbook = self.writer.book
    self.worksheet = self.writer.sheets['images']
    #create list of image names matching the plot names created in previous function
    images=[]
    for i in (self.A):
        for j in (self.B):
            for k in (self.C):
                n=f'{i}-{j}-{k}'
                images.append(n)
    y_postn=np.array(range(0,len(images)*10,10))
    image_row=[5]
    x_postn=np.repeat(image_row,len(y_postn))
    for i  in range(len(images)):
        self.worksheet.insert_image(x_postn[i],y_postn[i],images[i])    
    #self.workbook.close() 
    self.writer.save()
    return

只有数据帧元素“1”被写入指定的 sheet 'images' 但没有图像。给出的唯一警告是

UserWarning: warn("calling close() on already closed file")

我的脚本中没有close()。我不确定它是否相关...

在第一个 write_excel() 方法中,您调用 self.writer.save() 关闭文件。这就是为什么您会收到有关双重关闭的警告。