我想将数据框写入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)
但每次打开文件时我都需要扩展列:
我想知道在写入Excel时自动扩展列的选项。感谢
答案 0 :(得分:1)
我认为有一种方法可以在调用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)