用宽列将数据帧写入excel

2024-05-18 06:12:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一个数据框写到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时自动展开列的选项。谢谢


Tags: 数据dataframedfexcelfrequencynmextremefatigue
1条回答
网友
1楼 · 发布于 2024-05-18 06:12:06

我不认为有一种方法可以在调用df.to_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)

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) 

相关问题 更多 >