2015-04-21 2 views
1

Я хочу написать кадр данных в Excel, как это:Записи в Excel с широкой колонкой

df = DataFrame({'Frequency':lenFreq,'Fatigue Thrust [N]':meqThrust[iexcel],'Extreme Thrust [N]':extremeThrust[iexcel],'Extreme Thrust DMR [N]':extremeThrustDMR[iexcel],\ 
       'Fatigue Yaw [Nm]':meqYaw[iexcel],'Extreme Yaw [Nm]':extremeYaw[iexcel],'Extreme Flapwise [Nm]':extremeFlapwise[iexcel][ilenFreq]}) 

    df.to_excel(workbookOutput, sheet_name='Results', index=False) 

, но каждый раз, когда я открываю файл, мне нужно расширить столбцы:

enter image description here

Я хотел бы знать, как автоматически расширять столбцы при записи в Excel. Благодаря

+1

панды Dev [правил это из области видимости ] (https://github.com/pydata/pandas/issues/4049). Вы можете найти какое-то направление в этих ответах. Http://stackoverflow.com/questions/6929115/ – Zero

+0

Связанный, если не прямой дубликат: http://stackoverflow.com/questions/17326973/is-there-a-way-to- auto-adjust-excel-column-widths-with-pandas-excelwriter (об этом даже упоминалось в теме трекера Pandas, связанной с @JohnGalt). –

ответ

1

Я не думаю, что есть способ, чтобы непосредственно изменить размер первенствует клетки при вызове df.to_excel(), но вот способ сделать это после того, как этот призыв

df = DataFrame({'Frequency':lenFreq,'Fatigue Thrust [N]':meqThrust[iexcel],'Extreme Thrust [N]':extremeThrust[iexcel],'Extreme Thrust DMR [N]':extremeThrustDMR[iexcel],\ 
      'Fatigue Yaw [Nm]':meqYaw[iexcel],'Extreme Yaw [Nm]':extremeYaw[iexcel],'Extreme Flapwise [Nm]':extremeFlapwise[iexcel][ilenFreq]}) 

df.to_excel(workbookOutput, sheet_name='Results', index=False) 

sheet = workbookOutput.sheet_by_name('Results') 
nrows = len(sheet.get_rows()) 
ncolumns = len(sheet.get_cols()) 

for row_index in range (nrows): 
    for column_index in range(ncolumns) : 
     cwidth = sheet.col(column_index).width 
     column_data = sheet.cell(row_index,column_index).value 
     if (len(column_data)*367) > cwidth: 
      sheet.col(column_index).width = (len(column_data)*367) 
Смежные вопросы