Я собираюсь автоматизировать очень небольшую часть моей работы, которая связана с редактированием некоторых файлов, простой копировальной вставкой в Excel. Я добился небольшого успеха в этом в CSV и неформатированных файлах Excel. Однако последний файл необходимо отформатировать, и я решил использовать для этого XlsxWriter. Я столкнулся с проблемой, из-за которой имена столбцов не менялись должным образом влево при удалении индекса. Вдобавок к этому часть форматирования перемещается (ширина столбца), а другие биты - нет (цвет, выравнивание и т. Д.).
data_cols = ['Date', 'ID', 'Latitude', 'Longitude', 'Snow Accumulation at Customer Facility (inches)', 'Season Accumulation of Snow (inches)', 'Nearest Human Observed Snow Accumulation (inches)','Distance between snow observation site and customer facility (miles)','24 hr Maximum wind speed (mph)','24 hr Min. Temp. (degrees F)','Sleet or Freezing Rain (1=Yes; 0=No)']
data.columns = data_cols
writer = pd.ExcelWriter('C:/Users/csayre/Desktop/snowexpress_testbed/' + 'snowexpress_' + day.strftime("%m%d%y") + '_dentco.xlsx', engine = 'xlsxwriter')
data.to_excel(writer, sheet_name='Sheet1', index=False)
workbook = writer.book
worksheet = writer.sheets['Sheet1']
header_format = workbook.add_format({
'bold': False,
'font_name': 'Arial',
'font_size': 10,
'text_wrap': True,
'center_across': True,
'valign': 'bottom',
'fg_color': '#cdffff',
'border': 1})
for col_num, value in enumerate(data.columns.values):
worksheet.write(0, col_num + 1, value, header_format)
worksheet.set_column(0, 0, 14.43)
worksheet.set_column(1, 1, 18.86)
worksheet.set_column(2, 2, 8.71)
worksheet.set_column(3, 3, 10.43)
worksheet.set_column(4, 7, 11.57)
worksheet.set_column(8, 8, 12)
worksheet.set_column(9, 9, 9.57)
worksheet.set_column(10, 10, 9.57)
writer.save()
Базовый обзор, данные - это существующий фрейм данных, которым я манипулировал ранее и сохраняю как csv в основном для отслеживания рабочего процесса, у меня не было проблем при экспорте его как csv и удалении индекса.