Я пытаюсь создать сценарий для обработки нескольких листов Excel одновременно, и один из шагов, которые я пытаюсь заставить обработать Python, - это создать таблицу, используя данные, передаваемые из фрейма данных pandas. Создание таблицы выглядит довольно просто, глядя на документацию.
Следуя примеру здесь :
# define a table style
mediumstyle = TableStyleInfo(name='TableStyleMedium2', showRowStripes=True)
# create a table
table = Table(displayName='IdlingReport', ref='A1:C35', tableStyleInfo=mediumstyle)
# add the table to the worksheet
sheet2.add_table(table)
# Saving the report
wb.save(openexcel.filename)
print('Report Saved')
Однако при этом вместо использования данных создается пустая таблицаприсутствует в клетках «А1: С35». Кажется, я нигде не могу найти примеров, выходящих за рамки этих шагов, поэтому любая помощь в том, что я могу делать неправильно, очень ценится.
Данные в 'A1: C35' записываются в Excel следующим образом:
while i < len(self.sheets):
with pd.ExcelWriter(filename, engine='openpyxl') as writer:
writer.book = excelbook
writer.sheets = dict((ws.title, ws) for ws in excelbook.worksheets)
self.df_7.to_excel(writer, self.sheets[i], index=False, header=True, startcol=0, startrow=0)
writer.save()
i += 1
Вывод выглядит примерно так
Time Location Duration
1/01/2019 [-120085722,-254580042] 5 Min
1/02/2019 [-120085722,-254580042] 15 Min
1/02/2019 [-120085722,-254580042] 7 Min
Просто чтобы уточнить правильнотеперь я сначала записываю свой фрейм данных в Excel, а затем после форматирования данных, которые я записал в виде таблицы. В обратном порядке, сначала создав таблицу, а затем записав ее в Excel, таблица заполняется, но избавляется от форматирования (цвет шрифта, тип шрифта, размер и т. Д.). Это означает, что мне придется добавить дополнительный шаг, чтобы исправить форматирование (которого я хотел бы избежать, если это возможно).