Я использую pandas concat для объединения нескольких фреймов данных (таблиц) в документ Excel. Я использую Xlsxwriter для вывода Excel.
Мой вопрос заключается в том, что в приведенном ниже коде я задаю диапазон для таблицы в excel, используя worksheet.add_table('A1:D26')
. Это работает для этого файла примера. Но в итоговом документе количество фреймов зависит от входных данных. Так что иногда это df1 до df5. Достаточно 26 строк. Но это также может быть меньше, может быть 1 или 2 кадра данных или намного больше. Могу ли я использовать переменную вместо D26?
Например, worksheet.add_table('A1:Dx')
, где x определяется входом пользователя?
Заранее спасибо!
import pandas as pd
import xlsxwriter
df1 = pd.DataFrame({'0':['X','1','2','3'],
'1':['1','☐','☐','☐'],
'2':['2','☐','☐','☐'],
'3':['3','☐','☐','☐'],
'4':['','','','']})
df2 = pd.DataFrame({'0':['X','1','2','3'],
'1':['1','☐','☐','☐'],
'2':['2','☐','☐','☐'],
'3':['3','☐','☐','☐'],
'4':['','','','']})
df3 = pd.DataFrame({'0':['X','1','2','3'],
'1':['1','☐','☐','☐'],
'2':['2','☐','☐','☐'],
'3':['3','☐','☐','☐'],
'4':['','','','']})
df4 = pd.DataFrame({'0':['X','1','2','3'],
'1':['1','☐','☐','☐'],
'2':['2','☐','☐','☐'],
'3':['3','☐','☐','☐'],
'4':['','','','']})
df5 = pd.DataFrame({'0':['X','1','2','3'],
'1':['1','☐','☐','☐'],
'2':['2','☐','☐','☐'],
'3':['3','☐','☐','☐'],
'4':['','','','']})
result = pd.concat([df1, df2, df3, df4, df5], axis=1)
workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet('output')
worksheet.add_table('A1:D26', {'data': result.values.T.tolist(),'style': 'None', 'header_row': False})
workbook.close()