2015-05-15 3 views
1

Я довольно новичок в Python, но я пытаюсь передать файл изображения в заголовок во время части моего файла DataFrame.to_excel().Экспорт текстового заголовка и изображения в Excel

В принципе, я хочу, чтобы изображение в первой ячейке таблицы Excel сопровождалось несколькими строками (точнее, точным) текста, который будет содержать дату (возможно, от datetime.date.today().ctime(), если это возможно).

У меня уже есть код, чтобы вывести часть таблицы как:

mydataframe.to_excel(my_path_name, sheet_name= my_sheet_name, index=False, startrow=7,startcol=0) 

Есть ли способ, чтобы вывести часть изображения и текст непосредственно из Python?

UPDATE:

Для ясности, mydataframe экспортирует мясо и картофель на листе (строки и столбцы данных). У меня уже есть его начиная с строки 7 рабочего листа в Excel. Часть заголовка - это проблема.

+0

Можете ли вы рассказать нам немного больше о том, что находится в 'mydataframe'? Вы фактически передаете объект изображения или только путь к изображению? – ASGM

+0

@ASGM У меня нет изображения, сохраненного в 'mydataframe'. Я просто пытаюсь понять, возможно ли это сделать, а не обновлять его в Excel каждый раз. –

+0

У меня есть изображение, импортированное с помощью 'Image.open (file_ref)' –

ответ

1

Я нашел решение и спасибо за всю помощь.

Простой ответ заключается в использовании пакета xlsxwriter в качестве двигателя. Другими словами, предположим, что изображение сохраняется на пути /image.png. Затем код для вставки данных в файл первенствовать с изображением расположенного в верхней части данных будет:

# Importing packages and storing string for image file 
import pandas as pd 
import xlsxwriter 
import numpy as np 
image_file = '/image.png' 

# Creating a fictitious data set since the actual data doesn't matter 
dataframe = pd.DataFrame(np.random.rand(5,2),columns=['a','b']) 

# Opening the xlsxwriter object to a path on the C:/ drive 
writer = pd.ExcelWriter('C:/file.xlsx',engine='xlsxwriter') 

dataframe.to_excel(writer,sheet_name = 'Arbitrary', startrow=3) 

# Accessing the workbook/worksheet 
workbook = writer.book 
worksheet = writer.sheets['Arbitrary'] 

# Inserting the image into the workbook in cell A1 
worksheet.insert_image('A1',image_file) 

# Closing the workbook and saving the file to the specified path and filename 
writer.save() 

А теперь у меня есть изображение в верхней части моего файла первенствовать. Ура!

+0

. Затем вы можете экспортировать текст в один лист в разных ячейках с помощью 'workheet.write_string()' или 'workheet.write_rich_string() 'функций. –

Смежные вопросы