Согласно разделу документации xlsxwriter, описывающему метод .add_table()
, ожидается, что «структура данных должна быть списком списков» ( ссылка на документы ).
Чтобы создать этот список списков из вашего фрейма данных, необходимо будет использовать .T
для транспонирования фрейма данных, а затем .tolist()
для преобразования транспонированного фрейма данных в список списков.
У меня есть полностью воспроизводимый пример с использованием приведенного ниже примера данных.
import pandas as pd
import xlsxwriter
data = pd.DataFrame({'a':[1,2,3,4,5],
'b':[2,3,4,5,6],
'c':[3,4,5,6,7],
'd':[4,5,6,7,8],
'e':[5,6,7,8,9]})
workbook = xlsxwriter.Workbook("test1.xlsx")
worksheet = workbook.add_worksheet("sheli22")
worksheet.add_table('B3:F7', {'data': data.values.T.tolist(),'style': 'Table Style Light 17','header_row': False})
workbook.close()
с ожидаемым результатом: